在使用 EditPlus 写 Code 的时候总是使用 ACP 自动完成文件, 很方便对代码进行补全
ACP 文件的结构如下:
#title=Fortran
; Fortran ACP file for EditPlus
; Created by Mark Han on 14 May. 2016
; Contact me via eMail: mark#fcode.cn
#case=N
#t=:
::
#t=Prog
Program ^!
Implicit None
End Program
- 前面几行其实都可以看作是注释
-
#case=N
表明对大小写不敏感 (not case sensitive) -
t=xyz
是我们在写代码的时候实际需要敲击的键,然后摁空格
就会使用下面的代码进行补全。 -
^!
占位符,当我们输入了t=xyz
中的xyz
之后敲击空格键
之后光标将会移动至这个位置。
注意:
代码片段中的每一个空格、空行、制表符 都会原样输出
那么我们在使用 Sublime Text 3, Build 3114 的时候怎么实现这样的效果呢? 使用 snippet !Tool -> Developer -> Snippet
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
这个模板里面已经说明了如何编写(注意 ST 的代码片段使用 XML 语法):
-
${1: xyz}
设置的(缺省)参数,使用TAB
在各个参数之间进行切换 -
<triger>
和EP的ACP文件中t=xyz
作用一样,如模板中的hello
,表明我们输入hello
这五个字符后摁TAB
键将会补全命令; -
<scope>
是该代码片段起作用的文件样式,一般只针对于某种语言单独设置 代码片段 -
description
将会出现在 命令面板中(如果你从命令面板中选择使用snippet的话,不过我从来不那么干,因为太麻烦了,自己写的snippet自己有必要牢记)
更多细节参考:[Snippets][]
[Snippets]:http://docs.sublimetext.info/en/latest/extensibility/snippets.html?highlight=snippet
下面给出 fortran 的一个代码片段示例:
新建的 Fortran 代码片段 module 和subroutine while I'm coding...注意一下:
Snippets 可以被放在任意一个 package 的目录里,所以我将自己缩写的所有 snippets(例如 LaTeX的,fortran的)都放在同一个目录下面,并托管在 github 上面。
网友评论