sublime test代码段创建

代码片段

作为一个程序员最喜欢的就是打几个字编辑器或IDE就能显示出想要的代码,可以少打很多代码,而不是整天复制代码。本人比较喜欢sublime test这个编辑器主要就是打开比较快速,当然了如果是非常大的项目还是不建议使用sublime test。也是看了sublime test的文档所以简单的书写一下这篇文章。

代码文件格式与创建

文件格式与自动读取

每个编辑器都有自己的代码片段格式,也是大同小异。sublime test的代码片段格式后缀名为.sublime-snippet的文件。一个文件代表一个代码片段提示。主要是xml格式。sublime test会自动加载Perfernces->Packages->User文件夹下的所有文件

创建snippet

Tools->Developer->New Snippet就会创建一个代码片段文件如下步骤在这里插入图片描述
代码片段如下:

<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>

属性说明

content

content是我们代码片段主体,而我们要写的代码应该放入<![CDATA[和(代码写到这边)]]>之间。

tabTrigger

tabTrigger属性是简写,比如下图输入hello就一个代码提示片段:
在这里插入图片描述

description

description属性为代码提示说明,如上图hello的说明是first,用tools创建的文件是没有自带这个属性,所以他默认文件名。

scope

scope属性就是这个代码提示会在哪一种语法中显示,比如tools创建的默认是python那么他的值就是source.python。以下为语法与值的对应关系:

php
source.php
javaScripte
source.js
python
source.python
html
text.html

可以看出html有点奇葩可能是命名没有规范的问题还是别的用意,我是通过解sublime包找到的html对应值,当然如果要一个文件让很多语法使用可以逗号隔开比如以下代码:

<scope>source.python,source.php,text.html</scope>

语法

变量字段

一般书写代码段的时候都会通过Tab建来跳跃变量,也就是用$符号加数字如果需要展示符号$就要用"\$"代替,如以下代码:

第一个: $1
第二个: $2
第三个: $3

如果想实现$this->assign(‘parm’, $parm);那么content的内容就是如下代码(光标会同时停留在parm上可以同时书写,如果不要默认名称的话直接用$+数字):

	<content><![CDATA[
\$this->assign('${1:parm}', \$${1:parm});
]]></content>

在这里插入图片描述
当然sublime test有自带的一些参数比如下面的对应关系($TM_FILENAME为获取本输入框对应的文件名):

=================================
USER NAME:          $TM_FULLNAME
FILE NAME:          $TM_FILENAME
 TAB SIZE:          $TM_TAB_SIZE
SOFT TABS:          $TM_SOFT_TABS
=================================

# Output:
=============================
USER NAME:          guillermo
FILE NAME:          test.txt
 TAB SIZE:          4
SOFT TABS:          YES
=============================

正则

代码段肯定是要有智能识别,我们输入什么后续字段会跟着变化这才是代码段该有的样子。sublime test的格式是:

    ${var_name/regex/format_string/}
    ${var_name/regex/format_string/options}

var_name

代表第几个变量如果是第一个变量就写1,如果是环境变量如文件名的就写TM_FILENAME。

regex

正则就是匹配var_name的值。

format_string

格式化匹配出来的值

options

这个就跟正则表达式的options一样。

最后这边贴出一些官网的例子:

  其中content书写为:
  	<content><![CDATA[
      Original: ${1:Hey, Joe!}
Transformation: ${1/./=/g}
]]></content>

# Output:

      Original: Hey, Joe!
Transformation: =========

Transformation: ${1/^(\w)|(?:_(\w))/(?1\u$1:)(?2 \u$2:)/g}
      Original: ${1:text_in_snail_case}

# Output:

Transformation: Text In Snail Case
      Original: text_in_snail_case
Transformation: ${1/^(\w)|(?:_(\w))/(?1\u$1:)(?2 \u$2:)/g}
      Original: ${1:text_in_snail_case}

# Output:

Transformation: Text In Snail Case
      Original: text_in_snail_case
# In file MyModule.js:

Transformation: ${TM_FILENAME/(\w+)\.js/\1/g}

# Output:

Transformation: MyModule
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值