FingerText简介
FingerText是Notepad ++的用[tab]
键触发的快捷代码片段插入插件。在编程中可以很方便地插入代码模板. 支持多个热点同时编辑,嵌套热点,动态热点(不仅仅是纯文本,您还可以运行命令或在代码片段中触发另一个代码片段),热点文本提示(而不是仅使用$或#符号)和默认热点值。它还具有一个SnippetDock面板,其中显示了当前可用的片段列表。用户可以导入或导出可定制的代码片段并将其共享给其他人。
FingerText下载和安装
-
下载点:
https://sourceforge.net/projects/fingertext/files/Alpha%20Releases/FingerText%20-%200.5.60.zip/downloadhttps://sourceforge.net/projects/fingertext/files/Alpha%20Releases/
-
下载程序包
FingerText - 0.5.60.zip
-
解压缩该程序包,然后将FingerText.dll复制到Notepad ++的plugins文件夹中。
使用说明文档
在压缩包中有readme.rdoc
文件供参考。是本文的来源.
基本用法说明
假设已安装了FingerText并导入了示例代码段。在notepad ++中打开一个新文件,然后转到notepad ++菜单>插件> FingerText>Toggle on/off SnippetDock
。将显示出一个对话框,其中包含可用插件的列表。其中,可以看到可用代码片段snippet的列表。
其中一个称为“ lorem”。 “lorem”是代码段的触发文本。要触发它,请键入“ lorem”(不带引号),然后按[Tab]
键。
lorem[Tab]
触发器文本消失,并由一些lorem ipsum文本替换。
Lorem ipsum dolor sit amet, libero turpis non cras ligula, id commodo, .......................
可以尝试触发列表中的其他代码段。代码段可以长达几个段落(尝试使用“lorem”)。或一个短字(请尝试“ npp”)
npp[Tab]
键入时,可以注意到SnippetDock已更新。当键入“ lor”(不带引号)时,FingerText将在Dock上显示一个片段“ lorem”,以防您忘记如何拼写。
可以在文档中的任何地方触发。该代码段将插入到您在触发文本中键入的位置。
代码片段的作用范围
一些代码片段是针对特定文件扩展名。尝试打开一个新文件,并将其另存为“ test.cpp”。
请注意,这时SnippetDock已更新。列表中增加了一堆代码片段。其中之一称为“ <Lang:CPP> cout”。尝试在test.cpp内部触发它。
cout[Tab]
则输出
cout << "{Text}" << endl;
cout触发插入了一堆代码。仅当您的Notepad ++语言选择为CPP时,此片段才可用。但是仍然可以触发全局代码段。 (在test.cpp文件中尝试“ time”)
您可能会注意到,表示该代码片段在任何地方都可以使用,而标记了<.cpp>的代码片段仅适用于.cpp
文件。
SnippetDock面板将自动更新可用的片段以供参考。 SnippetDock顶部的文本框将显示当前所选片段的预览。
代码片段中的热点
一些片段包含热点。例如,打开一个新文件并触发代码段“ mit”。
mit[tab]
这样,MIT许可证示例文字将出现在编辑器中。请注意,您的插入符号会自动移动到“year”位置。现在输入2011,然后再次点击[Tab]。现在,插入符号位于“name”点上,您可以输入您的名称。输入名称后,点击[Tab],将插入符号插入文本的末尾。这是在片段充当模板文件时填写信息的一种非常方便的方法。
将文本插入热点的另一种方法是将文本作为参数传递。例如,您可以通过键入触发代码段“ mit”
mit(2010,John Smith)[tab]
单击[tab]
后,您应该会看到相同的MIT许可证模板,其中“ 2010”和“ John Smith”已经自动填充到正确的位置。
一些片段可以包含多个具有相同名称的热点。例如,可以尝试在.cpp文件中使用“ for”代码段。触发代码段,然后按一次字母“ i”,将所有迭代变量更改为“ i”。
要查看此功能的运行情况,请打开.cpp文件并触发代码段“template”。并使用[tab]导航到每个部分并填写详细信息。就得到了一个用于cpp主程序的工作框架。
创建和编辑片段
要创建新的代码段,最简单的方法是在文档中选择一些文本,然后进入菜单>插件> FingerText>根据选择创建代码段。就会将显示代码片段编辑器,您可以编辑其中的TriggerText和Scope。完成编辑后,单击保存按钮,或者可以使用快捷键Ctrl + S。
或者,也可以在SnippetDock中单击“创建”按钮。代码片段编辑器出现。您可以编辑TriggerText,Scope并输入代码段内容。请记住,在代码段的末尾要放置一个[> END <]
。完成编辑后,单击保存按钮,或者可以使用快捷键Ctrl + S
。
要编辑代码段,请在代码段列表中选择代码段,然后单击“编辑”按钮。您也可以双击列表以编辑特定的代码段。完成编辑后,单击保存按钮。
在编辑或创建代码片段时,请注意不要弄乱模板。如有疑问,可以随时按“创建”按钮以获取新的正确模板。
删除代码段很容易,只需选择代码段,然后单击删除按钮即可。
编辑基本热点
除了在代码段中放置纯文本,还可以在代码段中放置一个或多个热点。
热点可以由“任意的文本”来作为提示字串。也可以用默认值填充之。 (如果不输入任何内容,只单击[tab]
,则热点位置将被不带引号的字符串“Whatever Text”代替)。您可能需要在浏览最后一个热点后将光标移动到的位置添加一个空的热点(即$ [![]!]
)。尝试编辑示例代码片段,并将其用作参考。
请注意,具有相同名称的热点将同时突出显示。尝试编辑您在上一节中触发的for
代码段。您会看到有一堆$ [![(var)]!]
,当触发代码段时,它们会同时突出显示。
也可以在代码段中添加一个$[![]!]
。这指示最终的插入符号位置,这意味着您在所有热点之间导航后希望插入符号位于的位置。
[> END <]
之后的所有内容都不会插入文档中,因此您可以在此处写有关该片段的注释。
该插件支持中文字符。所有代码段均应以UTF-8编码并在UTF-8文档中触发。请注意,插件不支持中文字符标签名称。
动态热点
FingerText支持动态热点。当前,有五种可用的动态热点。
1)Chain 链式热点
由$ [![(cha)somesnippet]!]
指示的。触发代码段后,此热点将被激活另一个代码段“ somesnippet”所生成的文本替换。您可以触发代码段“chain”以查看其工作原理
2)Keyword 关键词热点
由$ [![(key)XXXXX]!]
指示。 XXXXX是一些预定义的关键字。当前支持的关键字是DATE,TIME,FILENAME,EXTNAME,DIRECTORY和PASTE。它们都是不言自明的(例如DATE将插入当前日期)。其中最重要的是PASTE。如果您的代码段包含$ [![(key)PASTE]!]
,它将被剪贴板中的任何文本替换。这在将一堆代码变成函数的标记语言或代码片段中非常有用。
3)Command 命令热点
Command 命令热点由$ [![(run)XXXXX]!]
指示。 XXXXX是可以在控制台中运行的某些命令。例如,$[![(run)dir]!]
将用在控制台中运行dir时看到的输出填充热点。当然,您可以根据需要运行批处理文件。尝试使用片段“cmddir”和“cmdbat”来查看它的运行情况。
4)Option 选项热点
Option选项热点由$[![(opt)XXX | YYY | ZZZ]!]
指示。只需制作一个包含$[![(opt)Snippet1 | Snippet2 | Snippet3 | Snippet4]!]
的代码段,然后尝试触发它即可。文本“ Snippet1”将插入到编辑器中。按向右/向下箭头转到下一个选项,向左/向上箭头转到上一个选项。选择完选项后,再次按Tab键。
5)List列表热点
List列表热点为$[![(lis)XXX | YYY | ZZZ]!]
指示。只需制作一个包含$[![(lis)Snippet1 | Snippet2 | Snippet3 | Snippet4]!]
的代码段,然后尝试触发它即可。将出现一个下拉框,您可以从列表项中进行选择。
备份和共享代码片段
要备份代码段,您可以转到notepad ++菜单>插件> FingerText>导出代码段。选择一个文件名(扩展名为.ftd),然后将代码段导出。可以采用与导入示例代码段相同的方式来导入它们。
.ftd
文件为纯文本格式,因此也可以直接对其进行编辑。但是不要这样做,除非您确切地知道自己在做什么,因为这可能会导致导入和导出时出现严重问题。官方不支持编辑.ftd文件。如果使用sqlite,则也可以直接编辑代码段数据库。也没有官方支持。
其他说明
-
该插件2012年后没再更新, 但对新版notepad++也支持,且也好用.
-
代码段触发模式: 在默认情况下,代码段由Tab触发。在Notepad++中可以将其更改为所需的热键, 但用[tab]是比较方便的. 冲突也少.
-
静态热点: 静态热点由
$ [![XXXXX]!]
表示,其中XXXXX是热点的默认值。 -
动态热点: 当前有5种动态热点,即链,关键字和命令。
$ [![(cha)XXXXX]!]
,$ [![(key)XXXXX]!]
和$ [![(run)XXXXX]!]
, 以及Option
和list
。 -
文件夹结构: FingerText.ini和FingerText.db3文件位于config / FingerText文件夹中。
-
代码段打包格式使用ftd纯文本格式。