在Sublime Text 2中,当使用auto complete插入html脚本标记时,光标会跳转到标记的末尾。
<script type="text/javascript"></script>*CURSOR HERE*
如何修改Sublime中的自动完成功能,这样当我选中一个html脚本标签时,src-attribute被添加到标签中,光标会跳转到src-attribute的引号?
我在Sublime HTML.sublime-completions文件中找到以下行:
{ "trigger": "script", "contents": "<script type=\"${1:text/javascript}\">$0</script>" }
我尝试将其修改为以下内容:
{ "trigger": "script", "contents": "<script type=\"${1:text/javascript}\" src=\"$1\">$0</script>" }
为此,我引用了文件中的html链接标记:
{ "trigger": "link", "contents": "<link rel=\"stylesheet\" type=\"text/css\" href=\"$1\">" }
我尝试安装另一个名为HTMLAttributes的软件包,但这并未添加我想要的功能。
我也尝试修改脚本标签,我删除了类型,但Sublime仍然可以自动完成它。我修改错了吗?或者在错误的文件中?
感谢您的帮助。
答案 0 :(得分:3)
请尝试在packages文件夹中的html_completions.py中添加以下代码。
("script\tTag", "script type=\"${2:text/javascript}\" src=\"$1\">$0</script>" ),
更多信息:http://docs.sublimetext.info/en/latest/reference/completions.html
答案 1 :(得分:1)
这是我在Sublime Text 3中使用ST&#39的片段工具找到的一种技术。
1)点击Menubar / Tools / New Snippet…
。
2)在<content><![CDATA[
之后和]]></content>
文字之前,将Hello, ${1:this} is a ${2:snippet}.
文字替换为script src="$1"></script>
(根据需要自定义; {{1 }表示自动完成后的光标位置)。
3)取消注释标签触发线,并将$1
文字更改为hello
。
4)取消注释范围行,并将script
文本更改为source.python
。
5)将文件保存到text.html
,并将其命名为~/Library/Application Support/Sublime Text 3/Packages/User
(必须以html-script.sublime-snippet
结尾)。
完整的文件应该类似于:
.sublime-snippet
如果按上述方式编写,当您开始输入<!-- ~/Library/Application Support/Sublime Text 3/Packages/User -->
<snippet>
<content><![CDATA[script src="$1"></script>]]></content>
<tabTrigger>script</tabTrigger>
<scope>text.html</scope>
</snippet>
(即使只是<script
)时,您可以按标签或返回自动完成,Sublime将填充<s
并将光标放在两个双引号之间。
文档:
http://docs.sublimetext.info/en/latest/extensibility/snippets.html
http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/extensibility/snippets.html
答案 2 :(得分:1)
另外,如果您安装了Emmet,请不要忘记,您可以使用其“{3}}。缩写也是。
例如输入:
script:src<TAB>
将解决:
<script src="|"></script>
对于CSS链接:
link<TAB>
link[/path/to/my.css]<TAB>
解析为:
<link rel="stylesheet" href="|">
<link rel="stylesheet" href="/path/to/my.css">|
(管道指示光标位置)