最开始是使用的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>