【发布时间】:2022-11-29 22:02:17
【问题描述】:
我需要经常粘贴console.log()。我想为此创建一个热键。并且光标应该在括号之间(通常的粘贴不起作用)。
这个怎么做?好像不能在设置里设置。也许一些插件。我宁愿为此创建一个小脚本。
【问题讨论】:
标签: sublimetext3 sublimetext sublime-text-plugin sublimetext4
我需要经常粘贴console.log()。我想为此创建一个热键。并且光标应该在括号之间(通常的粘贴不起作用)。
这个怎么做?好像不能在设置里设置。也许一些插件。我宁愿为此创建一个小脚本。
【问题讨论】:
标签: sublimetext3 sublimetext sublime-text-plugin sublimetext4
不需要插件;你只需要创建一个新的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>标记中的CDATA指示符的内容替换为console.log($0)。 $0 是 field designator。片段还支持一些内置的variables。
接下来,设置一个触发序列——当你输入并点击时标签, sn-p 将被触发。 clog 应该可以。
接下来,您可以设置一个scope selector 来优化可以触发 sn-p 的上下文。如果该字段中没有任何内容,则 sn-p 将随处可见。假设您正在使用 JavaScript 编程,请在此处使用 source.js。
最后,我们将添加一个 <description> 字段,该字段将显示在自动完成弹出窗口中。否则,它只会显示 clog 作为描述。在这里,我们将使用console.log()。
这是最终的 sn-p 的样子:
<snippet>
<content><![CDATA[
console.log($0)
]]></content>
<tabTrigger>clog</tabTrigger>
<scope>source.js</scope>
<description>console.log()</description>
</snippet>
点击保存,保存对话框将出现在您的Packages/User文件夹*中。将 sn-p 保存在这里(否则可能无法使用)为clog.sublime-snippet。一旦保存,它立即被激活。您可以通过切换到 JS 文件并输入 clog 并点击来测试它标签. console.log() 应在该位置输入,光标位于括号内。
* Packages 目录的确切路径取决于您的操作系统以及您是否已将安装升级到 Sublime Text 4(Build 4000 及更高版本)。
~/.config/sublime-text-3/Packages或~/.config/sublime-text/Packages
~/Library/Application Support/Sublime Text 3/Packages或~/Library/Application Support/Sublime Text/Packages
C:Users<b><i>YourUserName</i></b>AppDataRoamingSublime Text 3Packages 或 C:Users<b><i>YourUserName</i></b>AppDataRoamingSublime TextPackages
<b><i>InstallationFolder</i></b>Sublime Text 3DataPackages 或 <b><i>InstallationFolder</i></b>Sublime TextDataPackages
【讨论】:
<content> 来粘贴热键(不是关键字)。