Notepad++插件之FingerText

时间:2023-01-20 17:17:49

FingerText是一个标签触发片段插件记事本。支持多个热点同时编辑,嵌套的热点,动态热点(很多不仅仅是纯文本的,可以通过命令,或触发另一个片段中的片段),热点的文本提示(而不是仅仅是$或#号)和热点默认值。它还具有一个SnippetDock这显示当前可用的片段列表。 (见截图)你可以导入或导出代码片段,并将其分享给其他人。
如果你是新的FingerText,按照一节“安装”,在该文件中的“导入示例代码段”和“基本使用”。这应该给你如何使用FingerText一步步的教程。
安装默认片段包(即代码模板,比如输入fo后自动填充括号及你自定义的代码)
您应该已经安装FingerText。如果您有疑问,请进入记事本菜单,应该有“FingerText”“插件”项。
要安装默认片段包,进入记事本菜单>插件> FingerText> Install Default Snippet Package,所有的样本代码片段将被安装,安装完成后如图1.
Notepad++插件之FingerText

图1

要验证您是否正确导入的片段,进入记事本菜单>插件> FingerText>显示SnippetDock。可用片段列表的对话框应该出现。如图2

Notepad++插件之FingerText

图2

基本用法
在这里,我假设你已经安装FingerText和导入了样品片段。如果你不是,请参考前面的章节。
在Notepad++新建新一个文件,然后进入Notepad++菜单>插件> FingerText>显示SnippetDock。可用插件列表的对话框应该出现。在这里你可以看到可用的片段列表。有他们所谓的“<GLOBAL> num”. “num”是片段的触发器文本。触发它,键入“num”(不带引号),然后按下[Tab]键。
LOREM [Tab]键触发文本消失(即关键字+【tab】键),它被替换一些Lorem存有文本。

Lorem ipsum dolor sit amet, libero turpis non cras ligula, id commodo, aenean est in volutpat amet sodales, porttitor bibendum facilisi suspendisse, aliquam .......................(介绍LOREM,没看懂)

就是这样。您可以尝试在列表中触发其他片段。片段可长达数段(试试“LOREM”)。或者,短则一个词(尝试“NPP”)
NPP [Tab]键,您可能已经注意到了,当你键入时,SnippetDock更新。当你键入“LOR”(不带引号),FingerText将在Dock上表明,有一个片段“LOREM”, 万一你忘记了如何拼写它,它会帮到你。
怎么样,如果你不想键入整个单词?只需键入“LOR”,进入菜单>插件> FingerText>标记完成。这个词LOREM完成后,您可以通过点击[Tab]触发片段。强烈推荐分配标签来完成一个热键。您可以在文档中任何位置触发片段。该片段将被插入到您的触发器输入文本的位置。
Snippet范围
有些片段是特定的文件。即每个语言只可见该语言自己的代码片段,Notepad++会根据文件的扩展名来识别语言。亲,这里就自己试试了,在此不再多说。
Hotspots导航
一些片段中包含的热点,说的就是模板*你填的地方。
举个例子,在文本框内输入mit接着按【tab】键,模板就出现在了文本框中。请注意,您的插入符会自动移动到“Your Name”的地方。现在,你可以输入你的名字。按[Tab]键,你输入后,你的名字会带来插入符的文本的末尾。这是一个非常方便的方式,填写的信息,而代码片断则充当模板文件。
另一种插入文本的热点是要通过文本”关键字”。例如,你可以触发片段“mit”通过输入mit(john smith)+[tab]键后,你应该看到“john smith”自动填写到热点位置。
一些片段的包含多个热点具有相同名称。例如,你可以触发片段“awesome”。你的光标在所有三个点和任何你输入将同时改变他们。您也可以在.cpp文件试试片段“for”。触发片段,然后按字母“i”一次以“i”改变所有的迭代变量。想要查看光标移动特点可以打开.cpp文件并触发片段“模板”。使用[tab]导航到每个部分,并填写详细信息。
创建和编辑片段
要创建新的片段,最简单的方法是在文档中选择一些文本,然后转到菜单>插件> FingerText> Create snippet from selection。该片段在编辑器显示出来,你可以编辑TriggerText和范围。点击保存按钮即可。

TriggerText,就是用来你的代码片段的关键字。

Scope,就是你的代码片段的范围,是全局的还是特定某种语言的。

Snippet Content,就是要创建的代码片段的内容了,Finger Text一般会自动把结束符 [>END<] 加上的,不要删掉。
编辑片段,可以选择片段列表中的片段,然后单击编辑按钮。您也可以双击列表编辑特定片段。当您完成编辑点击保存按钮就行。
当你编辑或创建片断模板要小心,不要搞砸了。如果您还有疑问,可以随时点击“创建”按钮,得到一个新的正确的模板,亲自试试。
删除片段很容易,只要选择片段,然后点击删除按钮。
基本热点编辑
如果你不满足于创建静态的文本代码片段,可以自己创建带热点的代码片段。
热点基本语法:

$[![Whatever Text]!],其中“whatever Text”是热点提示,可以用默认值填充它。(如果你输入什么,只需点击选项卡,$[![Whatever Text]!]将字符串“whatever Text”(不带引号)取代)。您如果想要光标停在想停的位置,可以添加一个空的热点(即$ [![!]),最后通过热点移动到想停的位置。现在你可以尝试编辑样品片段,并把它们作为参考了。
注意,热点具有相同名称将在同一时间被突出显示。尝试编辑片段“for”会出现您已引发了上一节的提示。你可以看到,有一堆$ [![(VAR)!],这将同时强调,当片段被触发。
您也可以在片段添加一个$[0][0]]。这表明最后的插入位置,这意味着您要插入符号找到你浏览的所有热点之后。
[>END<]后,任何不被插入到文档中,所以你可以写代码段有意见。
Dynamic热点
FingerText支持动态热点。目前,有五种动态的热点。
•Chain - 这是由$ [[(CHA)somesnippet]!] 表示。当片段被触发,该热点会被替换为从激活另一片段“somesnippet”生成的文本。您可以触发片段“chain”,看看它是如何工作
•Keyword - 这是由$ [! - [(key)XXXXX]!] 表示。而XXXXX是一些预定义的关键字。目前支持的关键字有日期,时间,文件名,EXT文件名,目录和粘贴。他们都是自我解释(如日期将插入当前日期)。而其中最重要的一条是粘贴。如果你的代码片段包含$ [! - [(key)paste]!],它将在剪贴板任何文字代替。这是在该回合一串代码到一个功能标记语言或片段非常有用的。要看到这个动作,复制的代码行并触发片段的“method”。您复制的代码将变成一个红宝石方法。
•Command - 这是由$表示[[(运行)XXXXX]!]。而XXXXX的是,你可以在控制台中运行一些命令。例如$ [![(run)DIR]!]将填补你与热点当您运行控制台目录,你会看到输出。当然,你可以,如果你想运行一个批处理文件。尝试片断“cmddir”和“cmdbat”,看它在行动。
•Option - 这是由$ [[(OPT)XXX |!YYY | ZZZ]!] 表示。只要含$[[(OPT)Snippet1 |!Snippet2 | Snippet3 |!Snippet4]的片段,并试图触发它。文“Snippet1”将被插入到编辑器。按向右/下箭头转到下一个选项,左/向上箭头进入上一个选项。按下Tab键一次,当你做选择的选项。
•List - 这是由$ [[(LIS)XXX |!YYY | ZZZ]!] 表示。只要含$[[(LIS)Snippet1 |!Snippet2 | Snippet3 |!Snippet4]的片段,并试图触发它。一个下拉框将出现,您可以从列表中的项目进行选择。
•Evaluation(experimental) - 这是由$ [[(EVA)XXXXX]!] 表示。这个热点评估什么是热点内,并把答案中的Notepad ++。例如$ [![(EVA)1+(2-3)* 4/5]!]将产生0.2和$ [![(EVA)sin(PI / 2)]!]将产生1。
更多dynmaic热点类型都来了。
Snippets备份和共享
要备份的片段,你可以到记事本+ +菜单>插件> FingerText>导出片段。选择一个文件名(其扩展.ftd)和片段出口。您可以以同样的方式导入它们导入示例代码片段。
该.ftd文件是纯文本格式,因此您可以编辑直接了。但不这样做,除非你确切地知道自己在做什么,因为这可以在进口和出口造成严重的问题。编辑.ftd文件不正式支持。如果你使用SQLite,您可以直接编辑代码片段的数据库了。它都不是非官方支持。
Snippet语法和程序结构稳定性
•片段触发(稳定) - 摘要是默认被标签被触发。您可以将其更改为你喜欢的热键,但我假设你使用的是默认的热键
•静态热点(稳定) - 静态的热点是由$表示其中XXXXX是热点的默认值[XXXXX]!]。除非严重的兼容性问题发生这不会改变。
•动态热点(不稳定) - 目前有3种动态热点,连锁,关键字和命令。他们由$分别表示[![(CHA)XXXXX]!],$ [! - [(key)XXXXX]!]和$ [![(run)XXXXX]!]。我仍然在尝试什么是做到这一点所以不要指望改变在未来版本的最好方法。

•文件夹结构(平稳) - 在FingerText.ini和FingerText.db3文件是住在配置/ FingerText文件夹。

•数据库结构(不稳定) - FingerText.db3的结构还不稳定,但用户不应该直接编辑数据库文件。

•片段封装格式(不稳定) - 目前使用的FTD格式。

翻译自:https://github.com/erinata/FingerText

声明:由于个人翻译水平有限,部分借助GOOLE翻译的,避免不了一些小错误,欢迎大家指正。