快速控制台.log在崇高中插入



很多时候,当我在调试时,我喜欢注销这样的一行:

console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
console.log(dataThatImTryingToSee);
console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

但是,必须一直输入console.log行的内容会很烦人。有没有办法在Sublime中添加热键,插入一行,例如console.log行?

Sublime可以通过称为Snippets的东西来做到这一点,它允许您以各种方式重用文本片段,使您的编码生活更轻松。

要开始使用,请从菜单中选择Tools > Developer > New Snippet...,并将您在那里看到的内容替换为以下内容,然后将其保存在Sublime默认选择的位置,即您的User包。名称并不重要,只要它以sublime-snippet结尾,但请记住您使用的名称,因为您将在一分钟内需要它。

<snippet>
<content><![CDATA[
console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
console.log(${1:$SELECTION});
console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");${0}
]]></content>
<description>Debug log an item to the console</description>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>dlog</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.js</scope>
</snippet>

如果您不熟悉代码段,则 XMLCDATA部分内的文本是代码段的正文,它将插入到文档中。

${0}${1}是"字段",您可以随时通过输入文本来按 Tab 键。字段按数字顺序遍历,但特殊字段${0}指示光标最终应结束的位置,在本例中为最后一行的末尾,以便您可以继续编码。

字段可以具有${#:default}格式,其中最初为字段显示的文本是default。这将在触发时自动显示在代码段中,但如果需要,系统会选择它供您键入。

特殊字段$SELECTION将替换为代码段触发时恰好选择的任何文本(稍后会详细介绍(。

保存代码片段后,只要您在 JavaScript 文件中,您就已经有几个选项可供您触发它(语法必须设置为 JavaScript,因此请务必先保存任何新文件(。

首先,如果打开命令面板并输入文本Snippet以将命令列表筛选为包含该文本的命令列表,您将看到适用于当前文件的所有代码段,并且该列表中有一个条目,上面写着Snippet: Debug log an item to the console,它将在您选择代码段时触发它。

在这种情况下,如果您选择了任何文本,它将自动放入第二个console.log,因此您可以选择一个变量或您拥有的变量并触发代码段直接记录它。

其次,您只需输入文本dlog,然后按Tab也可以展开代码段。上面提到的命令面板条目右侧有文本,显示dlog,tab提醒您。根据您的设置,您可能还会收到一个自动完成弹出窗口。

您的问题专门讨论了添加热键,这也是可能的。在这种情况下,您希望将类似于以下内容的绑定添加到自定义键绑定中:

{
"keys": ["alt+shift+d"],
"command": "insert_snippet",
"args": {
"name": "Packages/User/data_log.sublime-snippet"
},
"context":
[
{ "key": "selector", "operator": "equal", "operand": "source.js" },
]
},

您可以自然地将密钥更改为您想要的任何内容。另请注意,您提供的代码段的名称必须与您保存文件的名称相匹配。如果您按照上面的说明进行操作,它已经保存在PackagesUser中。

现在,当您按下该键时,代码段会触发。如上所述,如果您选择了任何文本,它将自动插入到第二个console.log中。

请注意,在所有情况下,当代码段触发时,您将首先将光标设置在第二个console.log内(可能已经有一些选定的文本(,Sublime 正在等待您完成该字段的文本键入,因此再次按Tab跳到代码段的末尾。

提醒一下,您会注意到状态行(如果您已打开(会告诉您Field 1 of 2让您知道自己在代码段内。

此示例假设您正在使用 JavaScript,因此上面的代码片段和键绑定只会在当前文件为 JavaScript 时触发。如果使用其他语言,则可以从代码段和/或键绑定的context部分中删除scope,以使它们适用于所有文件,或者修改其中的范围以匹配要面向的语言。

这只是划伤了你可以用片段完成的表面。您还可以执行一些操作,例如多次使用同一字段以使相同的文本出现在多个位置,执行正则表达式替换等等。查看上面的链接以获取更多信息。

最新更新