Sublime Text3—Code Snippets(自定义代码片段)
摘要
程序员总是会不断的重复写一些简单的代码片段,为了提高编码效率,我们可以把经常用到的代码保存起来再调用。
平时用sublime安装各种插件,使用Tab键快速补全,便是snippets(可译为代码片段)的一种。
Sublime编辑器还提供了自定义代码片段的功能(当然不止Sublime有此功能),其官方文档中定义如下:
Whether you are coding or writing the next vampire best-seller, you’re likely to need certain short fragments of text again and again. Use snippets to save yourself tedious typing. Snippets are smart templates that will insert text for you and adapt it to their context.
一、创建snippets
1. 新建和保存
菜单栏中依次选择Tools | Developer | New Snippet...就会新建一个扩展名为
.sublime-snippet的XML语法的文档,注意后缀是识别snippets的关键。代码片段可以任意存储在packages文件夹下,默认会保存在Packages\User文件夹里,为了方便管理和使用建议再新建个文件夹例如snippets,则路径为Packages\User\snippets。
默认结构如下:
<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>
2. content
<content></content>中必须包含<![CDATA[…]]>,在这里面写自定义的代码片段。代码片段如果含有
]]>,需写成]]$NOT_DEFINED>。如果含有
$,需写成\$。
3. tabTrigger
- 在
<tabTrigger></tabTrigger>中设置让Sublime自动补全的触发词(trigger keyword)。
4. scope
设置代码片段在何种语言环境下激活,默认写的是python。
想指定多个scope,可以使用英文逗号
,来分隔。如何知道文档的
Scope是什么?菜单栏依次选择Tools | Developer | Show Scope Name...,快捷键是Ctrl+Alt+Shift+P。
5. description
如果加了
<description>描述内容</description>,点开Tools | Snippets...会显示你定义的描述内容。如果不写则显示文件名。
6. 设置光标位置Fields
<snippet>
<content><![CDATA[
First Name: $1
Second Name: $2
Address: $3
]]></content>
美元符加数字即可设置field markers即光标的位置,按Tab键光标按数字依次从小到大循环,如上从1到2到3再到1。
Shift+Tab可以进行向上跳转。
Esc结束跳转。
$0表示最后一个位置。
7. 镜像域Mirrored Fields
- 相同编号的位置即是镜像域,可同时选中进行编辑。
8. 占位符Placeholders
{数字编号}可以得到一个Tab占位符。{1:default}可以得到一个默认值。按Tab键依次循环选中代码片段中的默认值。
如默认的代码片段Hello, ${1:this} is a ${2:snippet}.会依次循环选中单词this snippet。
二、使用snippets
方法1:菜单栏点击Tools | Snippets...,弹出为当前语法可用的Snippet,点击即插入。
方法2:输入触发词然后按Tab键。
三、安装snippets
方法1:进入Package Control:install Package搜索选择安装已有的代码片段扩展包。
方法2:菜单选择Preferences | Browse Packages...打开,建议新建文件夹snippets方便管理,路径为Sublime Text3\Packages\User\snippets,将写好的代码片段拷贝进去。
参考
掘金:Sublime Text3—Code Snippets(自定义代码片段)
简书:Sublime Text3—Code Snippets(自定义代码片段)
博客园:Sublime Text3—Code Snippets(自定义代码片段)
Sublime Text3—Code Snippets(自定义代码片段)的更多相关文章
- sublime text3 之snippet编写代码片段
sublime text 3 中有个强大的功能就是可以编写各种文件类型的snippet代码片段,可以节省大量的时间. 文件名为:jekyll-top.sublime-snippet(.sublime- ...
- 利用 share code 插件同步代码片段
利用 Settings Sync可以同步 VS code 配置,但它只能同步插件,利用 Settings Sync 再配合 share code 插件可以同步自定义代码片段,可以把 VS code ...
- pycharm自定义代码片段
pycharm自定义代码片段 目录 (一)通用阶段 0 .新建.py文件模板:2 0 .pycharm中添加自定义代码片段:一图全知道:3 1 .定义类:classin 描述 ...
- vscode自定义代码片段,自定义注释片段(动态时间)
下载vscode 一.打开vscode,点击左下角设置图标. 二.点击用户代码片段 三.点击新建全局代码片段文件 四.输入自定义代码片段配置文件名,例如:vue.json 五.进行代码片段配置示例如下 ...
- Sublime Text3自定义代码片段
1.打开工具--插件开发--新建代码片段 会出现下图: 2.在<![CDATA[和]]>内写下你要的代码片段,注意的是代码片段要靠最左边. 3.设置快捷键,把下面tabTrigger标签的 ...
- Sublime Text Snippets(代码片段)功能
原文链接:http://www.bluesdream.com/blog/sublime-text-snippets-function.html 我们在编写代码的时候,总会遇到一些需要反复使用的代码片段 ...
- sublime text 2自定义代码片段
本文引用 http://www.blogjava.net/Hafeyang/archive/2012/08/17/how_to_create_code_snippet_in_subline_tex ...
- vs code 自定义代码片段
1.快捷键Ctrl+Shift+P打开命令输入 snippet : (也可以点击文件=>首选项=>用户代码片段) 2.选择代码语言类型(这里以JavaScrpt为例) 3.在javascr ...
- spring rest docs自定义代码片段
Spring rest docs 文档插件在生成文档时会默认生成6个代码片段,自适应生成其它片段.通过阅读官方文档发现其可以自定义生成的代码片段,但是官方只说了可以自定义模版,修改现有的代码片段的方法 ...
随机推荐
- 《Linux内核设计与实现》 第五章学习笔记
第五章 系统调用 在现代操作系统中,内核提供了进程与内核进行交互的一组接口.有如下作用: 让应用程序受限的访问硬件设备 提供了创新进程并与已有进程进行通信的机制 提供了申请操作系统其它资源的能力 保证 ...
- Beta冲刺随笔汇总
项目Beta冲刺(团队) Beta冲刺随笔汇总 姓名 学号 博客链接 何守成 031602408 http://www.cnblogs.com/heshoucheng/ 黄锦峰 031602411 h ...
- MyBatis是如何解决Sql注入的
转:[转]mybatis如何防止sql注入 java中预处理PrepareStatement为什么能起到防止SQL注入的作用??!! 一.SQL注入 sql注入大家都不陌生,是一种常见的攻击方式,攻击 ...
- ACM数论之旅12---康托展开((*゚▽゚*)装甲展开,主推进器启动,倒计时3,2,1......)
在我们做题中,搜索也好,动态规划也好,我们往往有时候需要用一个数字表示一种状态 比如有8个灯泡排成一排,如果你用0和1表示灯泡的发光情况 那么一排灯泡就可以转换为一个二进制数字了 比如 0110011 ...
- pandas重新索引
#重新索引会更改DataFrame的行标签和列标签.重新索引意味着符合数据以匹配特定轴上的一组给定的标签. #可以通过索引来实现多个操作 - #重新排序现有数据以匹配一组新的标签. #在没有标签数据的 ...
- Linux常用指令-ssh
目录 ssh远程登陆 ssh免密码登陆 生成公钥和私钥 将公钥复制到其他从机 文件说明 id_rsa id_rsa.pub authorized_keys known_host SSH(远程连接工具) ...
- rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构 2017年10月01日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~准备阶段~~~~~~~~~~~~~ ...
- delphi中怎么获取服务器的时间
下面是公司的代码,调整成ADO控件,给你参考一下: function GetNetDate: TDateTime; begin with TADOQuery.Create(nil) do begin ...
- delphi的一个公用函数库
delphi的一个公用函数库 {********************************************** *** Name: PublicFunc; *** Author: l ...
- C/S架构引用Lodop 如何在C#调用web打印控件Lodop
lodop是web打印控件,引用安装目录下的ocx文件,可以在c/s架构中使用. 该文件所在路径:C:\Program Files (x86)\MountTaiSoftware\Lodop 有32位和 ...