sublimetext3 - Sublime Text 3 中是否有任何功能蓝图/自动完成功能?
问题描述
我正在寻找基本上可以在崇高文本中绘制功能的东西。
示例:在 JavaScript 中编码时,您可以键入fun
,然后会显示一个弹出窗口。
按下回车键将生成此功能蓝图:
很方便,很明显。我正在寻找可以做完全相同的事情,但对于自定义功能。例如,对于这个函数:
function asynchFunction(callback) {
// doStuff
callback(arguments);
}
asynchFunction
当我输入(或部分输入)并在弹出窗口中按 Enter时,我希望出现以下蓝图:
asynchFunction(function(arguments) {
});
Sublime Text 3 是否存在类似的东西?
解决方案
您正在寻找的是一个片段。您在问题中描述的是默认 JavaScript 包中随 Sublime 一起提供的一个,但您可以根据需要添加自己的。
要使用您提到的内容进行设置,您可以Tools > Developer > New Snippet...
从菜单中选择创建一个存根片段,然后相应地对其进行修改。
对于您的示例,结果将如下所示:
<snippet>
<content><![CDATA[
asynchFunction(function(${1:arguments}) {
${0:// body...}
});
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>asyncFunction</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.js</scope>
<description>Async Function</description>
</snippet>
是触发片段的tabTrigger
文本,是自动完成弹出窗口中文本的第一部分。在description
弹出窗口中也使用 来描述片段的用途,为您提供一些上下文。
( scope
here source.js
) 确定片段在哪些文件中可用。如果您不使用它,该代码段将在任何地方都可用,因此这会将其设置为仅出现在 JavaScript 源代码中。
进行更改(如果有)后,将文件保存在 Sublime 默认的位置(您的User
包),并带有一些描述性名称和扩展名sublime-snippet
,您应该一切顺利。
保存片段后,它会在必要时自动开始出现,包括作为Snippet:
命令出现在命令面板中,包括当您Tools > Snippet...
从菜单中选择时。
有关片段本身的更多详细信息,请参阅上面的链接文档,但简而言之:
- 像这样
${1:text}
的项目fields
;text
是字段的默认文本,并按Tab数字顺序在字段之间跳过,从 开始1
。片段中可以出现多个具有相同字段编号的项目;在您编辑该字段时,它们会立即更改。 - 该
${0}
字段是特殊的,它指示当您浏览所有字段时光标应该结束的位置。如果片段内容不存在,则默认为片段内容的结尾。 - 由于上述原因,该
$
字符在片段正文中是特殊的;如果要$
在片段中插入文字字符,请\$
改用。 - 无论您认为多么不需要它,都不要删除
![CDATA[
and]]>
文本。
推荐阅读
- android - 如何在osmdroid中将指南针调整为地图
- c++ - 不允许使用抽象类数组
- java - Hibernate Many-to-Many with join 需要时间来获取所有数据
- python - 如何调用表达式并为其赋值
- excel - 引用列名的索引/匹配
- testing - 如何对 watson 进行简单的 botium 测试
- flutter - Flutter中TextFormField的prefixIcon的调整大小(高度和宽度)不起作用
- cocos2d-x - cocos creator中如何通过.js打开WebView中的URL
- debugging - 如何使用 vscode 附加到远程 gdb?
- c# - 解析并读取来自 Bing 地图 REST 服务的响应