美文网首页
编写 Sublime Text 代码片段

编写 Sublime Text 代码片段

作者: iMark | 来源:发表于2016-06-22 13:11 被阅读490次

    在使用 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
    <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 上面。

    相关文章

      网友评论

          本文标题:编写 Sublime Text 代码片段

          本文链接:https://www.haomeiwen.com/subject/sbludttx.html