2013-03-25 8 views
5

W Sublime Text 2 podczas wstawiania znacznika skryptu HTML za pomocą funkcji autouzupełniania kursor przeskakuje na koniec tagu.Modyfikowanie HTML <script> autouzupełnianie w Sublime Text 2

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

Jak mogę modyfikować zakończenia auto w Sublime więc kiedy tab-kompletne tag skrypt html atrybut src-dodaje do tagu i kursor przeskakuje do cytatów z src-atrybut?

znalazłem następujący wiersz w pliku Sublime HTML.sublime-Realizacje:

{ "trigger": "script", "contents": "<script type=\"${1:text/javascript}\">$0</script>" } 

Próbowałem modyfikowania go do następujących:

{ "trigger": "script", "contents": "<script type=\"${1:text/javascript}\" src=\"$1\">$0</script>" } 

Do tego odwołuje tag html w linku plik:

{ "trigger": "link", "contents": "<link rel=\"stylesheet\" type=\"text/css\" href=\"$1\">" } 

Próbowałem zainstalować inny pakiet o nazwie HTMLAttributes, ale ten d Nie dodawaj potrzebnej funkcjonalności.

Próbowałem również zmodyfikować tag skryptu, usunąłem typ, ale Sublime może automatycznie go uzupełnić. Czy zmienię to źle? Lub w niewłaściwym pliku?

Dzięki za pomoc.

Odpowiedz

3

Spróbuj dodać następujący kod w pliku html_completions.py znajdującym się w folderze packages.

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

Więcej informacji: http://docs.sublimetext.info/en/latest/reference/completions.html

+0

Nie mogę znaleźć tego pliku w ST3, a strona z powyższym odnośnikiem to 404. Jakąkolwiek dalszą pomoc? – jtheletter

+0

P.S nie używaj , która wyzwala Emmet. Zamiast tego użyj . –

1

Oto technika znalazłem dla osiągnięcia tego w Sublime Text 3, stosując ST za narzędzie rozszerzonych.

1) Kliknij przycisk Menubar/Tools/New Snippet….

2) Po <content><![CDATA[ i przed tekstem ]]></content>, zastąpić tekst Hello, ${1:this} is a ${2:snippet}. z script src="$1"></script> (Dostosuj ten, jak chcesz; $1 wskazuje umieszczenie kursora po autouzupełniania).

3) Odkomentuj linię tabulatora i zmień tekst na hello na script.

4) Odkomentuj linię zasięgu i zmień tekst source.python na text.html.

5) Zapisz plik na ~/Library/Application Support/Sublime Text 3/Packages/User i nazwać to coś podobnego html-script.sublime-snippet (musi zakończyć się w .sublime-snippet).

Kompletny plik powinien wyglądać mniej więcej tak:

<!-- ~/Library/Application Support/Sublime Text 3/Packages/User --> 
<snippet> 
    <content><![CDATA[script src="$1"></script>]]></content> 
    <tabTrigger>script</tabTrigger> 
    <scope>text.html</scope> 
</snippet> 

Jeśli napisane jak powyżej, gdy zaczniesz wpisywać <script (nawet tylko <s) można następnie nacisnąć kartę lub powrotną autouzupełniania, i Sublime będzie wypełniać <script src=""></script> i pozostawić kursor umieszczony między dwoma cudzysłowami.

Dokumentacja:

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

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

+0

To bardzo miłe. Ale czy możliwe byłoby również automatyczne uzupełnianie atrybutu src, nawigowanie po systemie plików i uzyskiwanie sugestii? Wsporniki robią to w bardzo przyjemny sposób, ale niestety jest zbyt wolno, aby można było je wykorzystać w (nieco) większych projektach. – Nighto

+1

@Nighto: Myślę, że będziesz potrzebował albo mocno zakodować 'src' attr, albo upuść tam znacznik kursora i wpisz. Chyba że jest jakaś wtyczka do włączania przeglądania plików (nie znam jednego). – jtheletter

1

Nie należy również zapominać, jeśli Emmet zainstalowaniu można korzystać z jego skróty też.

Na przykład wpisując:

script:src<TAB> 

rozwiąże się:

<script src="|"></script> 

I za linki CSS:

link<TAB> 
link[/path/to/my.css]<TAB> 

postanawia:

<link rel="stylesheet" href="|"> 
<link rel="stylesheet" href="/path/to/my.css">| 

(rury oznaczone pozycją kursora)