2013-03-25 105 views
5

在Sublime Text 2中使用auto插入html脚本标签时完成光标跳转到标签的末尾。修改HTML <script>在Sublime Text上自动完成2

<script type="text/javascript"></script>*CURSOR HERE* 

我怎样才能修改崇高自动完成,所以当我制表完整的HTML脚本标签的SRC属性添加到标签和光标跳转到src属性的报价?

我发现了崇高HTML.sublime完井文件中的以下行:

{ "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的包,但是这个d idn't添加我想要的功能。

我也尝试修改脚本标记,我删除了类型,但Sublime仍然可以自动完成它。我修改它错了吗?或者在错误的文件中?

感谢您的任何帮助。

回答

3

请尝试在位于软件包文件夹中的html_completions.py中添加以下代码。

("script\tTag", "script type=\"${2:text/javascript}\" src=\"$1\">$0</script>"), 

的更多信息:http://docs.sublimetext.info/en/latest/reference/completions.html

+0

我没有在ST3中找到此文件,并且上面链接的页面是404。有没有进一步的帮助? – jtheletter 2014-10-23 19:29:06

+0

P.S不要使用触发Emmet的。改为使用。 – 2016-04-19 09:18:03

1

这里有一个技巧,我发现在崇高的文本3完成这一点,采用ST的片段工具。

1)点击Menubar/Tools/New Snippet…

2)<content><![CDATA[后和]]></content>文本之前,更换Hello, ${1:this} is a ${2:snippet}.文本与script src="$1"></script>(按照您的意愿自定义此; $1指示光标放置自动完成后)。

3)取消标签触发行的注释,并将hello文本更改为script

4)取消注释范围行,并将source.python文本更改为text.html

5)将文件保存到~/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(甚至只是<s),然后你可以按标签回报自动完成, Sublime将填充<script src=""></script>并将光标放置在两个双引号之间。

文档:

http://docs.sublimetext.info/en/latest/extensibility/snippets.html

http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/extensibility/snippets.html

+0

这非常好。但是是否有可能自动完成src属性,在文件系统上导航并获取建议?支架以非常好的方式进行,但不幸的是,它太慢而无法在(稍微)较大的项目中使用。 – Nighto 2015-07-17 19:24:00

+1

@Nighto:我想你需要对'src' attr进行硬编码,或者在这里放置一个游标标记并输入。除非有一些插件来启用文件浏览(我不知道其中的一种)。 – jtheletter 2015-07-17 22:30:25

1

另外,如果你已经安装了Emmet你可以使用它的缩写也不要忘记。

例如打字:

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

(管道指示光标位置)