在Sublime Text 2 </script>上修改HTML <script>自动完成

时间:2013-03-25 22:59:59

标签: autocomplete sublimetext2 sublimetext

在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仍然可以自动完成它。我修改错了吗?或者在错误的文件中?

感谢您的帮助。

3 个答案:

答案 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">|

(管道指示光标位置)