博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sublime Text3—自定义代码片段(Code Snippets)
阅读量:6272 次
发布时间:2019-06-22

本文共 1814 字,大约阅读时间需要 6 分钟。

hot3.png

摘要

程序员总是会不断的重复写一些简单的代码片段,为了提高编码效率,我们可以把经常用到的代码保存起来再调用。

平时用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

  • 默认结构如下:

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

  • 美元符加数字即可设置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:将写好的代码片段拷贝过来,建议放在Sublime Text 3\Packages\User下面的文件夹中方便管理

转载于:https://my.oschina.net/sichunchen/blog/1539610

你可能感兴趣的文章
【MyBatis学习06】输入映射和输出映射
查看>>
[LeetCode] Decode String 解码字符串
查看>>
数字逻辑的一些基本运算和概念
查看>>
ant重新编译打包hadoop-core-1.2.1.jar时遇到的错
查看>>
【★★★★★】提高PHP代码质量的36个技巧
查看>>
3 weekend110的配置hadoop(格式化) + 一些问题解决 + 未免密码配置
查看>>
JavaScript Creating 对象
查看>>
Java compiler level does not match the version of the installed Java project facet.(转)
查看>>
WPF MediaElement.Position属性
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
spring mysql多数据源配置
查看>>
[React] Override webpack config for create-react-app without ejection
查看>>
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
测试java的父子类化
查看>>
HDOJ 1008
查看>>
安装thrift出现的一些问题
查看>>
makefile编写---单个子目录编译模板
查看>>
Oracle DB_LINK如何使用
查看>>
cv resource
查看>>
关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用
查看>>