在Notepad ++中管理代码片段

问题描述 投票:40回答:3

有没有办法管理数据库备份的代码片段和Notepad ++中的代码突出显示?

notepad++ code-snippets
3个回答
23
投票

有一个很好的插件来管理代码片段:

SnippetPlus 需要.NET 3.5! Codepad ++的代码片段和Surround With插件。编写代码段名称并将其替换为实际代码或选择一些文本并用IF,TryCatch,Table,Div或其他内容包围它们。如果您不记得代码段名称,请提示您注意可能会显示最新版本,即使您安装了旧版本。重新安装以确保您拥有最新版本。 作者:Rajesh Kumar 主页:http://sourceforge.net/projects/snippetplus/

您可以从Notepad ++插件管理器安装它,并通过单击工具栏中的黑色m状符号激活dock;然后选择一个捆绑的代码段并通过双击将其粘贴到编辑器中。

例如,如果您有一个Visual Basic文件,并且需要包含一个包含if-elseif-else结构的try / catch块,则必须按照图像中指示的步骤操作:

  1. 将光标放在您想要新代码片段的位置,然后从工具栏激活dock:这将打开标记为黄色的停靠对话框。
  2. 双击Dock中Snippets部分中的ifelseif选项:这将插入标记为蓝色的代码块。
  3. 选择您想要在try / catch块中的所有代码,然后双击Dock中SurroundWith部分中的TryCatch选项:这将用所有标记为红色的代码块替换所选代码。

如果要修改现有代码段或包含您的代码段,请使用GUI编辑器:

单击要修改/删除的代码段:它将显示在右侧。活动部分(Snippets或SurroundWith)以深红色背景突出显示:

您也可以添加自定义代码段:只需选择正确的语言,然后点击您希望新代码段所属的部分(Snippets或SurroundWith)中的任何代码段,然后写下您要创建的新代码段的名称(例如示例):按钮Modify将更改为Add New

您也可以使用键盘快捷键Ctrl + Shift + ENTER将片段插入文档:

  1. 您可以直接编写代码段名称,然后按键盘快捷键,或
  2. 您可以调用弹出式按键盘快捷键,然后再次按键盘快捷键以使用代码段内容替换代码段名称。

笔记:

  • 此插件在重新启动之间保留片段(包括自定义片段)。
  • 重要说明:如果添加/修改/删除片段,则仅在重新启动Notepad ++后才会应用更改(包括Snippets和SurroundWith部分的列表内容)。请注意不要复制或添加不完整的代码段。
  • 要为您正在使用的语言应用代码突出显示,只需按照传统方式从菜单语言中选择它:
  • Ctrl + Shift + ENTER菜单上显示的代码段取决于当前应用于文档的语言突出显示。全局显示的唯一代码片段属于GENERAL类别。

我希望这些信息对您有所帮助。


0
投票

这个答案并没有具体说明如何管理np ++代码片段,但这可能是一个很好的选择,因为看起来插件不能很好地工作。我发现一个非常灵活的系统范围的解决方案是使用AHK。然后,您可以通过自定义热键和文本扩展来获得类似于代码段的功能,以及更多功能。

例如,像这个:*:123::123456789这样的单线程AHK脚本将自动扩展输入“123”到“123456789”,无论你当前的编辑器(np ++或VS,无论如何)。要将此限制为特定应用程序,只需添加另一行,如#IfWinActive, ahk_exe devenv.exeFull example here)。

More on AHK for plaintext


简单的AHK脚本来管理代码片段


我刚刚提出了一个简单的解决方案来管理CodeSnippet数据库。多一点工作,这可能会更加光滑。

它能做什么

提供按Ctrl + Alt + S显示的代码段列表。双击一个片段,它将粘贴到您的应用程序中。片段只是一个文件列表,文件的内容为代码提供了代码。

如何设置它

1.)需要MyDocuments目录下名为“CodeSnippets”的文件夹。在此文件夹中创建代码段文件。

2.)使用AHK运行以下脚本。要“设置并忘记”,请在Windows启动时运行脚本。在Windows中的任何应用程序中,按Ctrl + Alt + S选择一个代码段。

#NoEnv

HotKey, ^!s, ShowList
return

ShowList:
Gui, Add, ListView, r20 w300 gMyListView, Name
Loop, %A_MyDocuments%\CodeSnippets\*.*
    LV_Add("", A_LoopFileName)

Gui, Show
return

MyListView:
if A_GuiEvent = DoubleClick
{
    LV_GetText(RowText, A_EventInfo)
    FileRead, Snippet, %A_MyDocuments%\CodeSnippets\%RowText%
    Clipboard := Snippet
    Gui, Destroy
    Send ^v
}
return

GuiClose:
Gui, Destroy
return

0
投票

还有FingerText。它从NPP的新插件管理员安装并运行良好。如果你试一试,你应该去插件| FingerText |安装默认Snippet包以获取一组默认的片段。这是2012年的复古,但仍然有效。默认情况下,它通过<TAB>键(la TextMate)扩展片段。它有扩展宏,因此$[![(key)DATE:yyyy/MM/dd]!]表示其插入日期片段的当前日期。如果您插入例如一个超链接,它突出显示文本部分,因此当您开始键入时它将替换文本的占位符,然后您可以点击 并且将突出显示URL占位符。这让人联想起Emmet的工作方式。您当然可以添加新的和编辑片段。

也许它最大的疏忽是它不会将片段分成几类;所以你只需要一个长长的列表就可以获得你的代码片段。但是,代码段知道文件扩展名。它似乎没有自动完成。可以在“NPME”\ plugins \ FingerText目录的“README.rdoc”中找到文档。

它显然是一个win32项目,因此不需要.NET 3.5。开发人员表明它处于alpha阶段;但它似乎相当稳定,并且似乎比alpha阶段,恕我直言更成熟。它是开源的,可从GitHub的“erinata/FingerText: Tab triggered snippet plugin for Notepad++”获得。我的猜测是,如果你想要一个x64版本,你必须自己编译;但是有一个Visual Studio项目。

© www.soinside.com 2019 - 2024. All rights reserved.