首页 > 技术文章 > Sublime中的Snippet

r1-12king 2020-06-19 10:26 原文

1、简介

  Sublime Text 是一个轻量、简洁、高效、跨平台的编辑器,一直习惯于把这个作为简单的python编辑器。

  Snippet 是插入到文本中的智能模板并使这段文本适当当前代码环境. 程序员总是会不断的重写一些简单的代码片段, 这种工作乏味/无聊, 而Snippet的出现会让Code更加高效。
 

2、创建和存储

  Snippet可以存储在任何的文件夹中, 并且以 .sublime-snippet 为文件扩展名, 默认是存储在 .sublime-snippet 文件夹下。在 st3 的环境下,创建自己的 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>

  我平时会经常性操作文件,例如,我想敲出 “readline” 以后出现如下代码:

with open(file1) as f:
    lines = f.readlines()
    for line in lines:
        _line = line.strip().split('\t')

  则snippet可以改成:

<snippet>
    <content><![CDATA[
with open(file1) as f:
    lines = f.readlines()[1:]
    for line in lines:
        _line = line.strip().split('\t')

]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>readline</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>source.python</scope> -->
</snippet>

 

以下可以不看系列


 

  简要介绍一下snippet四个组成部分:

  • content:其中必须包含<![CDATA[…]]>,否则无法工作, Type your snippet here用来写你自己的代码片段
  • tabTrigger:用来引发代码片段的字符或者字符串, 比如在以上例子上, 在编辑窗口输入hello然后按下tab就会在编辑器输出Type your snippet here这段代码片段
  • scope: 表示你的代码片段会在那种语言环境下激活, 比如上面代码定义了source.python, 意思是这段代码片段会在python语言环境下激活.
  • description :展示代码片段的描述, 如果不写的话, 默认使用代码片段的文件名作为描述

 

 

推荐阅读