2013-03-25 108 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">| 

(管道指示光標位置)