首页 > 代码库 > Sublime Text 自定义 snippet

Sublime Text 自定义 snippet

“snippet”在英语里面是“片段”的意思。当我们编码时候,通常想要打几个简略的字符串,就出来一些固定的模板,这个就类似于前端的zen coding。

不过,目前,sublime text2 的zen coding 不支持了,不知道sublime自己内置了什么默认的sinppet,只能实现一些简单的类似zen coding的功能。

定义很简单,先通过tools->new snippets就进入了新建文件。

文件包括以下内容:

<snippet>    <content><![CDATA[]]></content>    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->    <tabTrigger></tabTrigger>    <!-- Optional: Set a scope to limit where the snippet will trigger -->    <scope></scope></snippet

现在对以上的参数进行说明:

  • content:是你要定义的模板内容
  • tabTrigger:是你按tab键之前需要输入的快捷字符串,输了该字符串后,按tab键,就能生成你需要的模板内容啦
  • scope:是对文件格式的限制,比如,html格式的要设置为text.html

php示例code如下:

<snippet>

<content><![CDATA[
echo json_encode(${1:\$this});exit(${2:1});
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>ej</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.php</scope>
</snippet>

然后,保存文件,重命名为ej.sublime-smippet 代码中输入ej回车后就能显示出如下代码了:

echo json_encode($this);exit(1);

这里要注意的是scope,因为你不知道如何设置,才会让sinppet正常响应。设置出错,自然是无效啦。

列出scope列表,参考自:https://gist.github.com/iambibhas/4705378:

ActionScript: source.actionscript.2AppleScript: source.applescriptASP: source.aspBatch FIle: source.dosbatchC#: source.csC++: source.c++Clojure: source.clojureCSS: source.cssD: source.dDiff: source.diffErlang: source.erlangGo: source.goGraphViz: source.dotGroovy: source.groovyHaskell: source.haskellHTML: text.html(.basic)JSP: text.html.jspJava: source.javaJava Properties: source.java-propsJava Doc: text.html.javadocJSON: source.jsonJavascript: source.jsBibTex: source.bibtexLatex Log: text.log.latexLatex Memoir: text.tex.latex.memoirLatex: text.tex.latexTeX: text.texLisp: source.lispLua: source.luaMakeFile: source.makefileMarkdown: text.html.markdownMulti Markdown: text.html.markdown.multimarkdownMatlab: source.matlabObjective-C: source.objcObjective-C++: source.objc++OCaml campl4: source.camlp4.ocamlOCaml: source.ocamlOCamllex: source.ocamllexPerl: source.perlPHP: source.phpRegular Expression(python): source.regexp.pythonPython: source.pythonR Console: source.r-consoleR: source.rRuby on Rails: source.ruby.railsRuby HAML: text.hamlSQL(Ruby): source.sql.rubyRegular Expression: source.regexpRestructuredText: text.restructuredtextRuby: source.rubyScala: source.scalaShell Script: source.shellSQL: source.sqlTCL: source.tclHTML(TCL): text.html.tclPlain text: text.plainTextile: text.html.textileXML: text.xmlXSL: text.xml.xslYAML: source.yaml 

Sublime Text 自定义 snippet