教你怎么在Sublime3中设置自己的代码片段

介绍

Sublime Text是一款跨平台文本编辑器,拥有丰富的功能和插件来提高你的编程效率。其中一个很酷的特性是代码段。代码段是预定义的文本块,可以通过短代码触发器自动插入到编辑器中。这篇文章将帮助你学习如何在Sublime Text 3中设置自己的代码片段。

设置自己的代码片段

步骤1:创建代码段文件

首先,创建一个文件夹,用于存放你的代码段。

重要提示:这里的文件夹可以放在任何位置,但应将其保存在你的~/.config/sublime-text-3/Packages/User/目录中,这是Sublime Text 3中用户自定义设置的存储位置。如果你的用户设置是在存储在其他目录中,将文件夹存储在相应的目录中。

打开Sublime Text 3,进入工具栏中的「Tools」-> 「Developer」 -> 「New Snippet…」。这将会打开一个代码段模板,内容如下:

<snippet>

<content><![CDATA[

Hello, World!

]]></content>

<tabTrigger>hw</tabTrigger>

<scope>source.python</scope>

</snippet>

代码段文件使用XML语法编写。其中snippet标签是代码段的根节点,content标签包含你要插入的代码段,tabTrigger标签是你触发代码段的关键字,scope标签定义了代码段在何种情况下可用。sublime text通过scope进行代码高亮,用户设置的语言在Sublime Text 3中都有一个scope。

步骤2:定义代码段

现在,让我们定义一个简单的代码段。以下代码是用于打印“Hello, World!”的Python代码段:

<snippet>

<content><![CDATA[

print("Hello, world!")

]]></content>

<tabTrigger>hello</tabTrigger>

<scope>source.python</scope>

</snippet>

我们将代码段保存为python.sublime-snippet,并将其保存到 ~/.config/sublime-text-3/Packages/User/ 目录中。此时,你需要重新启动Sublime Text 3,以便文档能够被正确加载。

在这个简单的设置中,我们为Python定义了一个代码段,该代码段将打印“Hello, World!”。当你在Python文件中键入关键字“hello”并按下Tab键时,代码段将自动插入到文件中,代码段将被写入“print(”Hello,world!“)”。好的开端!

步骤3:参数化代码片段

好了,我们已经定义了第一个代码段。然而,我们可以使它更加强大,以便它适用于不同的环境。为此,我们将添加一个参数,使代码段更具普遍性。

以下是将把这个代码段变成参数化代码段的内容:

<snippet>

<content><![CDATA[

char = "${1:char}"

print("Hello, ${2:world}${1}!")

]]></content>

<tabTrigger>hello</tabTrigger>

<scope>source.python</scope>

</snippet>

例如,输入python代码块:

print("Hello, world!")

我们可以使用代码段输出:

char = "my friend"

print("Hello, world" + char + "!")

如你所见,在这个代码段中:

- $ {1:char}表示我们的参数。这是一个使用默认值的可选参数。如果不传递参数,它将成为“char”。

- $ {2:world}是关键字。这将添加你想要添加的文本,本例中为“world”。

重要提示:Sublime Text中的代码段是可以像函数那样进行参数化的。这意味着您可以传递一些代码片段以便以可操作的方式使用它们,而无需必须编辑文本文件。

步骤4: 使用符合标准的占位符

使用符合标准的占位符(变量)时,Sublime Text为您提供了另一个优秀的机制:TAB键(indentation)可以在占位符之间移动。

假设你要写一个if-else代码段 —— 代码段需要有一个布尔条件、一个代码块。

这是Python中if-else代码段的定义:

<snippet>

<content><![CDATA[

if ${1:condition}:

${2:# indented contents}

else:

${3:# indented contents}

]]></content>

<tabTrigger>ifelse</tabTrigger>

<scope>source.python</scope>

</snippet>

这个定义中的Tab符号是一个符合标准的占位符,你可以在两个输入框之间切换。

使用符合标准的占位符来编写代码段是一种强大的技巧,其效果与Python具有相当(一致的)行为。

步骤5:使用snippet条件

在Sublime Text中,你可以为代码段分配条件,以使代码段在特定的环境中更好地工作。

例如,如果您有多个Python版本,并且某些代码段只适用于Python3,则可以使用条件跟踪器。这是一个条件代码段的定义,仅在Python3下可用。

<snippet>

<content><![CDATA[

print("Hello, world!")

]]></content>

<tabTrigger>hello</tabTrigger>

<scope>source.python</scope>

<!--这是代码段条件-->

<!--Python 3 only-->

<!-- <condition>python.version >= "3"</condition>-->

</snippet>

参考条件:

1. file_name:File Name

2. file_extension: 扩展名

3. file_base_name:基本文件名称

4. platform:平台

5. selector:语法选择器

6. syntax:语法

7. after_switch:切换之后

8. environment:环境

9. language:语言

10. has_parent:有父级

11. selection:选择

你可以使用条件跟踪器来定义实现代码段条件的>模板语言,例如,如果文件名包含字符串“unittest”,那么可以使用以下语法选择器:

<scope>source.python</scope>

结论

在Sublime Text 3中设置自己的代码段非常容易。通过这篇文章的介绍,你现在已经知道代码段的XML结构、怎么创建它、以及怎么通过添加默认值和条件选择使其更加灵活。如果你想要提高自己的Sublime Text 3设计水平,改善自己的工具架设,自定义代码块(代码片段)是非常重要的。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。