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,将写好的代码片段拷贝进去。


参考

  • sublimetext官方文档Snippets介绍

  • 手把手教你写Sublime中的Snippet

  • Sublime Text自定制代码片段(Code Snippets)


掘金:Sublime Text3—Code Snippets(自定义代码片段)
简书:Sublime Text3—Code Snippets(自定义代码片段)
博客园:Sublime Text3—Code Snippets(自定义代码片段)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JBoss AS7 JNDI和EJB 3.1命名更改

由于“功能培训”继续前进&#xff0c;而我们又没有使软件堆栈保持最新&#xff0c;因此我们的团队发现自己处于迁移的不可行位置&#xff1a; JBoss 4.2.3到AS 7.1.x&#xff08;当前为7.1.1&#xff09; EJB 2.1到EJB 3.1 休眠2到休眠3或4 以快速的方式。 我的意思是&…

static关键字(修饰函数、局部变量、全局变量)

在C语言中&#xff0c;static的字面意思很容易把我们导入歧途&#xff0c;其实它的作用有三条。 &#xff08;1&#xff09;先来介绍它的第一条也是最重要的一条&#xff1a;隐藏。 当我们同时编译多个文件时&#xff0c;所有未加static前缀的全局变量和函数都具有全局可见性。…

POJ 2236 - Wireless Network ( 并查集 )

题意 一个计算机网络里的计算机都坏了, 现在有两种操作, “O p”代表修复了p机器, “S p q”代表检查 p, q 两台机器是否连接( 直线距离<d或者中间有距离<d的用来联通的机器 ) 思路 比赛的时候愣是没读清楚题目意思, 还以为是什么搜索, 瞎瘠薄做了个MLE 没料到居然是个并…

Apriori 关联分析算法原理分析与代码实现

转自穆晨 阅读目录 前言关联分析领域的一些概念Apriori算法基本原理频繁项集检索实现思路与实现代码关联规则学习实现思路与实现代码小结回到顶部前言 想必大家都听过数据挖掘领域那个经典的故事 - "啤酒与尿布" 的故事。 那么&#xff0c;具体是怎么从海量销售信息中…

Spring JpaRepository示例(内存中)

这篇文章描述了一个使用内存中HSQL数据库的简单Spring JpaRepository示例。 该代码示例可从GitHub的Spring-JpaRepository目录中获得。 它基于带有注释的Spring-MVC-示例和此处提供的信息 。 JPA资料库 我们为该示例实现一个虚拟bean&#xff1a; Entity AutoProperty public…

java url接口_javaweb 后台使用url接口

String GET_URL"https://wx.hguard.cn:8075/queryProfiledataAction.action?phone"phone"&beginnum"beginnum"&pagesize"pagesize"&sign"newsignString;try {URL url new URL(GET_URL); // 把字符串转换为URL请求地址…

数据分析 - 残酷的世界

数据分析 - 残酷的世界 可视化作品链接地址&#xff1a;http://reinhardhsu.com/game.html 概要 最近读了比尔盖茨的夏日书单中的荐书《乡下人的悲歌》&#xff0c; 书中描述了贫穷、毒品和一系列陋习&#xff0c;像遗传病一样&#xff0c;困扰着一代又一代的美国底层人民…

burpsuite破解版

来源&#xff1a;http://www.vuln.cn/8847 转载于:https://www.cnblogs.com/shengulong/p/8819072.html

Eclipse Juno上带有GlassFish的JavaEE 7

Java EE 7很热。 前四个JSR最近通过了最终批准选票&#xff0c;与此同时GlassFish 4达到了升级版83。 如果您关注我的博客&#xff0c;那么您将了解NetBeans的大部分工作。 但是我确实认识到&#xff0c;那里还有其他IDE用户&#xff0c;他们也有权试用最新和最出色的企业Java。…

photoshop 切片工具进行切图

1、使用切片工具切图 2、存储为web所用格式 3、选择图片格式 4、只保存切片&#xff08;选择所有用户切片&#xff09; 5、查看&#xff1a;

HubSwitch工作原理,冲突域,以太网帧结构笔记(2017年10月9日 11:15:46)

一、冲突域 网络中发送的主要是应用程序产生的数据。 数据流需要网络设备进行数据转发&#xff0c;任何应用程序在发送数据流之前都要进行数据封装。 比如&#xff1a;SMAC DMAC | SIP DIP | 报头&#xff08;Source Port、Destination Port&#xff09;| QQ的数据载荷&#xf…

在IDEA中实战Git

工作中多人使用版本控制软件协作开发&#xff0c;常见的应用场景归纳如下&#xff1a; 假设小组中有两个人&#xff0c;组长小张&#xff0c;组员小袁 场景一&#xff1a;小张创建项目并提交到远程Git仓库 场景二&#xff1a;小袁从远程Git仓库上获取项目源码 场景三&#xff1…

java抽象类异常_求教JAVA里面的错误继承抽象类我都已经看傻了。

求教JAVA里面的错误我都已经看傻了。我思路是想创建个新对象(经理)并打印他的所有属性&#xff0c;外加上work一个干活的属性。自己看了半天改了半天都不行跪求高手给我改改并讲讲。abstractcl...求教JAVA里面的错误我都已经看傻了。我思路是想创建个新对象(经理)并打印他的所有…

从迁移到Java 7的小技巧

经过几年的努力&#xff0c;我们终于开始在软件级别方面将我们的应用程序从黑暗时代中拉出来&#xff0c;其中一个步骤是将我们的Java版本升级到Java7。在大多数情况下&#xff0c;这相当轻松&#xff0c;但是有一些惊喜&#xff1a; 当我们切换到Java 7时&#xff0c;已经运行…

css 宽高自适应的div 元素 如何居中 垂直居中

在我们 编写css 样式的时候经常会遇见一个问题 那就是一个 宽高未知的元素 要让他 垂直居中如何实现这个呢 下面是我常用的两种方法 上代码 下面的是 结构代码 <div class"wrap">//此处为父组件 我们会设置父级的宽高并让其居中 <div class"center&q…

iOS 图文并茂的带你了解深拷贝与浅拷贝

一、概念与总结 1、浅拷贝 浅拷贝就是对内存地址的复制&#xff0c;让目标对象指针和源对象指向同一片内存空间&#xff0c;当内存销毁的时候&#xff0c;指向这片内存的几个指针需要重新定义才可以使用&#xff0c;要不然会成为野指针。 浅拷贝就是拷贝指向原来对象的指针&…

使用Byteman和JUnit进行故障注入

我们的应用程序独立存在的时间已经很久了。 如今&#xff0c;应用程序是一种非常复杂的野兽&#xff0c;它们使用无数的API和协议相互通信&#xff0c;将数据存储在传统或NoSQL数据库中&#xff0c;通过网络发送消息和事件……例如&#xff0c;如果考虑到数据库&#xff0c;您会…

Ambari Views的自定义

下载ambari源码&#xff0c; ambari-views/examples/ 下面有很多例子&#xff0c;直接编译是不会成功的&#xff0c; 因为每一个例子项目都需要一个依赖 <dependency><groupId>org.apache.ambari</groupId><artifactId>ambari-views</artifactId>…

angular使用sass的scss语法

一、现象 为了简写样式 二、解决 1、安装sass ,利用npm 安装(npm工具如果没有&#xff0c;请先自行安装好) &#xff08;1&#xff09;、npm install node-sass --save-dev &#xff08;2&#xff09;、npm install sass-loader --save-dev 2、修改.angular-cli.json文件 …

linux 查看java cpu_Linux查看CPU和内存使用情况

在系统维护的过程中&#xff0c;随时可能有需要查看 CPU 使用率&#xff0c;并根据相应信息分析系统状况的需要。在 CentOS 中&#xff0c;可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后&#xff0c;CPU 使用状态会以全屏的方式显示&#xff0c;并且会处在对话的模式…