网站搜索

如何使用 Sublime Text 片段提高生产力


长话短说,最近我被分配到工作中的一个项目,我必须创建很多 bash 脚本。我有 python 背景,并使用 Jupyter Notebook 来完成我的所有开发工作。对我来说,bash 脚本的问题是它令人困惑的括号用法和所有脚本中重复的代码块。

在那之前,我一直在使用 Nano 编辑器创建 bash 脚本。 Nano 提供了一些作为终端编辑器的基本功能,但没有超出一点。因此,我进行了研究并选择“SUBLIME TEXT 3”作为 bash 和其他编程语言的首选编辑器。我为 bash 脚本创建了大量重复函数、单行代码和控制块的片段,这不仅节省了时间,还提高了我的工作效率。

什么是片段?

代码片段是许多现代文本编辑器或 IDE 编辑器附带的流行编程特性/功能。您可以将代码片段视为可以在需要时重复使用的模板。片段不限于特定的编程语言。您可以简单地创建一个新的代码片段,添加您想要插入的任何文本并指定一个触发词。我们将在接下来的部分中看到所有这些功能。

列出 Sublime Text 中定义的片段

默认情况下,sublime text 附带了一些预定义的 bash 代码片段。它将根据我们正在从中搜索片段的当前文件智能地显示片段。我在 shell 脚本中,当我调用命令 pallet 并输入 snippet 时,它会自动为 bash 提供已定义片段的列表。

您可以通过两种方式访问 Sublime Text 中的片段。

  1. 菜单驱动 ⇒ 精彩文本 → 工具 → 片段
  2. 命令面板 ⇒ SUBLIME TEXT → 命令面板 (CTRL+SHIFT+P) → 输入片段

在 Sublime Text 中创建新的代码片段

当我们创建新的代码片段时,Sublime text 提供了 XML 格式的默认模板。要创建模板,请转到SUBLIME TEXT → TOOLS → DEVELOPER → NEW SNIPPET

我们来了解一下模板定义并修改参数。

  • 要插入的实际内容或代码块应放置在 内。我将为“标题评论”创建一个片段。您创建的每个脚本都会有一个标题注释,定义有关脚本的信息,如作者姓名、创建日期、版本号、部署日期等。
  • Tabtrigger(可选)绑定充当代码片段触发器的“TEXT”。当输入触发器名称并按“TAB”时,将插入代码片段。默认情况下是有注释的,删除注释,并为触发器添加一些文本。选择一个描述性的简短名称。例如:我选择“hcom”来插入标题注释。它可以是您选择的任何内容。
  • 范围(可选)定义您的代码片段所绑定的语言。您可能同时使用 2 或 3 种不同的编程语言,并且您可能对不同编程语言的不同代码片段使用相同的名称。在这种情况下,范围控制您的代码片段应插入哪种语言,从而避免冲突。您可以从链接获取范围列表。或者,您可以转到工具→开发人员→显示范围名称或按获取您正在使用的语言的范围名称。
  • 描述(可选)在默认模板中不可用,但您可以使用它来定义有关此代码段功能的一些上下文。

现在我们已经做了一些基本的事情。我们定义了一个片段,它将插入一个简单的标题注释,该注释与“hcom”选项卡触发器绑定并源自 shell 脚本。

现在让我们打开一个新的 bash 文件并“输入 hcom”。如果您查看下图,当我“键入 h”时,我的代码段定义就会弹出,并带有我们给出的描述。我所要做的就是按 <tab> 键将其展开。

领域

字段使用 $1$2$3 等表示。借助字段,您只需按 <tab> 键即可跳转到放置字段标记的位置。

如果您看一下我的代码片段,我添加了两个字段标记 $1$2,它的作用是当我插入代码片段时,光标将放置在 $1 这样我就可以在该位置输入一些内容。

然后我必须按 <tab> 键跳转到下一个标记 $2 并输入一些内容。值得注意的是,当您在 2 个位置有任何相同的标记(例如 $1)时,更新一个位置的字段将更新相同的字段 ($1)

  • <tab> 键 → 跳转到下一个字段标记。
  • 键 → 跳转到上一个字段标记。
  • 键 → 跳出字段循环。
  • $0 → 控制退出点。

占位符

占位符就像大括号内定义的键值对 $ {0:}; 字段标记将使用默认值进行标记。您可以更改该值或保持原样。插入片段后,如果按 Tab 键,光标将置于默认值处。

现在,片段已使用默认值插入,并且鼠标放置在 $1 处,在本例中为 v1。我可以修改该值,或者只需按 <tab> 键即可移至下一个标记。

Sublime Text 代码片段的唯一缺点是,您无法将所有代码片段分组到一个文件中。每个文件只允许一个片段,这很麻烦。但还有其他选项,例如创建 .sublime-completion 文件。要了解更多信息,请查看文档。

我的代码片段文件存储在哪里?

代码片段文件应使用后缀 .sublime-snippet 保存。转到首选项浏览包。它将打开存储用户定义设置的目录。转到将保存代码片段文件的目录“User”。

片段生成器

Snippet-generator-app 根据我们的输入提供基于网络的自动片段生成。它适用于 Sublime Text、Atom 和 VSCode。在左侧输入描述、选项卡触发器和内容,这将在页面右侧生成实时代码。

将从 Ambari API 获取集群名称的示例片段。

这就是今天的全部内容。我们已经看到了在 sublime text 中使用snippets 的优势。我只是使用一个简单的伪文本作为示例来演示片段功能,但还有更多内容。我还要指出的是,此功能在所有编辑器/IDE 中都可用,例如 VimAtomEclipsePycharm >、Vscode 等。