2013-03-25 18 views
5

Trong văn bản tuyệt vời 2 khi chèn thẻ tập lệnh html bằng cách sử dụng tự động hoàn thành con trỏ nhảy đến cuối thẻ.Sửa đổi HTML <script> tự động hoàn thành trên Sublime Text 2

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

Làm thế nào tôi có thể thay đổi tự động hoàn tất trong Sublime vì vậy khi tôi tab hoàn tất một thẻ html kịch bản một src thuộc tính được thêm vào thẻ và con trỏ nhảy đến các dấu ngoặc kép của src-thuộc tính?

tôi thấy dòng sau trong file Sublime HTML.sublime-hoàn:

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

Tôi đã cố gắng thay đổi nó như sau:

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

Đối với điều này tôi tham khảo các link tag html trong tệp:

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

Tôi đã thử cài đặt gói khác có tên HTMLAttributes, nhưng điều này d không thêm chức năng tôi muốn.

Tôi cũng đã thử sửa đổi thẻ tập lệnh, tôi đã xóa loại, nhưng Sublime vẫn có thể tự động hoàn tất. Tôi có sửa đổi sai không? Hoặc trong tập tin sai?

Cảm ơn bạn đã được trợ giúp.

Trả lời

3

Vui lòng thử thêm mã sau vào html_completions.py nằm trong thư mục gói. thông tin

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

thêm: http://docs.sublimetext.info/en/latest/reference/completions.html

+0

Tôi không tìm thấy tệp này trong ST3 và trang được liên kết ở trên là 404. Mọi trợ giúp thêm? – jtheletter

+0

P.S không sử dụng kích hoạt Emmet. Sử dụng để thay thế. –

1

Dưới đây là một kỹ thuật tôi thấy cho việc này trong Sublime bản 3, sử dụng công cụ đoạn ST của.

1) Nhấp Menubar/Tools/New Snippet….

2) Sau khi <content><![CDATA[ và trước khi văn bản ]]></content>, thay thế văn bản Hello, ${1:this} is a ${2:snippet}. với script src="$1"></script> (tùy chỉnh này theo ý muốn; các $1 chỉ ra vị trí con trỏ sau autocomplete).

3) Bỏ ghi chú dòng kích hoạt tab và thay đổi văn bản hello thành script.

4) Bỏ ghi chú dòng phạm vi và thay đổi văn bản source.python thành text.html.

5) Lưu tập tin vào ~/Library/Application Support/Sublime Text 3/Packages/User và đặt tên cho nó một cái gì đó giống như html-script.sublime-snippet (nó phải kết thúc bằng .sublime-snippet).

Các tập tin hoàn chỉnh nên giống như thế:

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

Nếu viết như trên, khi bạn bắt đầu gõ <script (thậm chí chỉ cần <s), sau đó bạn có thể nhấn tab hay trở để tự động hoàn thành, và Sublime sẽ điền <script src=""></script> và để con trỏ của bạn được đặt giữa hai dấu ngoặc kép.

Tài liệu:

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

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

+0

Điều đó rất hay. Nhưng nó sẽ có thể để có thể tự động hoàn thành các thuộc tính src là tốt, điều hướng trên hệ thống tập tin và nhận được đề xuất? Chân đế làm điều đó theo một cách rất hay, nhưng thật không may là quá chậm để có thể sử dụng được trong các dự án lớn hơn (một chút). – Nighto

+1

@Nighto: Tôi nghĩ bạn sẽ cần phải mã hóa cứng 'src' attr, hoặc thả một điểm đánh dấu con trỏ ở đó và gõ. Trừ khi có một số plugin để cho phép duyệt tập tin (tôi không biết một). – jtheletter

1

Ngoài ra, đừng quên nếu bạn đã cài đặt Emmet bạn có thể sử dụng chữ viết tắt của nó quá.

Ví dụ gõ:

script:src<TAB> 

sẽ quyết tâm:

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

Và đối với liên kết CSS:

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

Giải quyết tới:

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

(đường ống chỉ định vị trí con trỏ)