最开始是使用的Notepad++,后来偶然间发现了 ST2,慢慢的就被吸引过来了;而且ST2 的一大好处就是跨平台,使用习惯近乎是无缝切换,由于本人平时在 ubuntu 和 windows下切换较多,ST2自然成了首选。
最新的ST2已经有了一些简单的代码提示,但提示出来的不一定是自己想要的结构。比如说,if默认提示的是 "if (true) {};",个人非常不喜欢最后的那个 分号,每次都得手动去删除,不胜其烦,干脆就自己创建了一些常用的代码片段,取代了ST2 默认的。
我平时一般用 ST2 写 JS的代码,这儿就根据自己的需要,创建一些简单的 code snippet,供大家参考,方便大家创建出自己喜欢的code snippet。
如果想省事儿一些,可以安装一个插件 - JS Snippets;安装成功后,在 Packages文件夹下就会多出一个 JS Snippets 文件夹,里面包含了一些常用的代码片段,可以根据自己的需要适当进行修改
或者,直接上网搜一些别人提供的 code snippet,保存到相应的目录就可以。
菜单栏--tools--new snippet
创建出来的文件,保存时后缀名一定要为 .sublime-snippet,并且保存在 Sublime Text 2.0.1\Data\Packages\User\ 目录下,也可以在User下单独建立一个文件夹,比如我的目录就是 Sublime Text 2.0.1\Data\Packages\User\JS_Snippet\,该文件夹下保存的是 JS 中常用到的一些代码片段(直接放到 Packages 目录下也是可以的,已亲测)
创建出来的文件格式以及含义为:
<snippet>
<content>border-top:1px solid #${1};</content> // 缩写展开后的代码 ,即自己想要批量生成的代码
<tabTrigger>bt</tabTrigger> // 快捷输入的缩写 、引起触发的关键字
<description>border-top</description> // 片段的描述、提示信息
<scope>source.css</scope> // 仅对 CSS 文件有效 。或者是 source.js,只对js文件有效
</snippet>
主要值得注意的就是 默认的光标位置,以及按下 tab键后的光标停留位置
<snippet>
<content><![CDATA[
console.log("${1:message}");$0 // 这里的$1、$0表示代码自动完成后,光标的所在位置:
//最开始是在 $1的位置,同时 message 为选中的状态;此时按 tab 键,光标自动切换到 $0 的位置
]]></content>
<tabTrigger>console</tabTrigger>
<scope>source.js</scope>
</snippet>
在这儿没找到换行的关键字,看来是需要将 换行、tab等手动地敲到 <content> 标签里面了
eg:
<snippet>
<content><![CDATA[
if(${1:true}){
$0
}
]]></content>
<description>if(){}</description>
<tabTrigger>if</tabTrigger>
<scope>source.js</scope>
</snippet>
还有一点,不清楚是我这儿的问题还是大家都这样:
一开始以为content标签中,$符号表示的光标切换位置,序号是降序排列的,后来发现:光标切换位置的序号中,0表示最后一次tab键的光标位置,而其他的非零数字则是按照升序排列的,在下面的例子中,光标的切换顺序就表示: 1 -》 2 -》 0
<content><![CDATA[
require("$1")$2;$0
]]></content>