我希望能夠在我的react/jsx代碼中爲html標籤使用自動完成功能。它與html文件的工作方式相同。我可以配置崇高的文本3爲jsx文件啓用標記自動完成嗎?jsx中的自動完成html標籤(崇高文本)
回答
值得關注的是,你可以通過複製實現崇高的內置標籤的JSX接近並稍微修改鍵入/
與Default.sublime-package
自帶。以下添加到您的自定義鍵盤佈局
{ "keys": ["/"], "command": "close_tag", "args": { "insert_slash": true }, "context":
[
{ "key": "selector", "operator": "equal", "operand": "(text.html, text.xml, meta.jsx.js) - string - comment", "match_all": true },
{ "key": "preceding_text", "operator": "regex_match", "operand": ".*<$", "match_all": true },
{ "key": "setting.auto_close_tags" }
]
}
假設你正在使用的巴貝爾包,選擇meta.jsx.js
將匹配JSX語法,使標籤關閉行爲。其他程序包的作用域名稱可能不同,在這種情況下,您可以使用ScopeHunter來檢查由首選JSX語法應用的作用域。
這很好,實際上最好地解決了OP的問題。他沒有問:我如何在JSX中使用emmet。他問,我怎樣才能讓崇高的處理jsx處理html的方式。 需要注意的一點是:你可能想把它放在用戶文件夾中的'Default.sublime-keymap'中,而不是更改基本的。 – btwebste
@btwebste你知道SublimeText嚴重依賴插件來擴展自己嗎?儘管這個答案適用於這個問題的有限範圍,但emmet是一個很好的工具,可以在你的工具帶中使用。不要誤解我的意思,我不質疑這個答案的偉大之處(我的upvote),但其他答案同樣好(尤其是因爲我們得到了OP所要求的,然後是一些答案)。 – Mrchief
我打算評論說有人應該爲此做一個插件。所以我做了:https://github.com/FMCorz/AutoCloseTags。感謝你的回答! – FMCorz
我強烈建議組合babel-sublime和emmet。如果您指定「JavaScript(Babel)」作爲您的語法,那麼兩個軟件包將一起工作,如果需要,emmet會正確生成「className」和「htmlFor」。
唯一的缺點是擴展不能使用TAB,但使用CTRL + E。這是由於TAB在JavaScript中有一堆其他用法。
我已經安裝了這兩個軟件包,但沒有「JavaScript(Babel)」作爲_Syntax_菜單中的選項提供給我。 _JavaScript _選項有一個彈出式菜單,但這裏只列出了_JavaScript_和_JSON_。對此有何洞見? – IsenrichO
完美地工作..感謝 –
@IsenrichO在我的機器上,它列在(Babel) - > JavaScript(Babel)下。 – SherylHohman
安裝: 通天&埃米特
然後添加到您的鍵綁定這 - 用戶
{
"keys": ["tab"], "command": "expand_abbreviation_by_tab", "context": [
{
"operand": "source.js",
"operator": "equal",
"match_all": true,
"key": "selector"
},
{
"key": "selection_empty",
"operator": "equal",
"operand": true,
"match_all": true
}
]
},
{ "keys": ["tab"], "command": "next_field", "context":
[
{ "key": "has_next_field", "operator": "equal", "operand": true }
]
}
要編輯「鍵綁定 - 用戶」是在「首選項>鍵綁定」,然後正確的。 –
如果你已經安裝好babel,試試打開你的.js和.jsx文件,然後進入查看>語法>用當前..> babel> javascript(babel)打開所有文件,查看正確的語法高亮顯示並使用CTRL + E自動完成你的.jsx中的html標記
這是你的問題嗎? –
根據Daniel的回答,我爲此製作了一個插件。
來源:https://github.com/FMCorz/AutoCloseTags
要安裝:
- 添加上述庫與
Package Control: Add repository
- 執行命令
Package Control: Install package
- 選擇
AutoCloseTags
Emmet Abbreviation's list (見demo here)(和cheat sheet here)
你甚至不需要尖括號鍵入 - 埃米特會做到這一點,結束標記,以及更多!
使用Ctrl鍵é擴大的縮寫。
埃米特文檔:在解釋縮寫.. 偉大的,但沒有說明如何「展開縮寫」 - 至少,我無法找到它。
從崇高,我
- 開闢了:Preferences -> Package Settings -> Emmet -> Key Bindings - Default
- 搜索expand_abbreviation
- 發現ctrl+e
幸福 - 就像一個魅力:-)
我也推薦安裝AutoCloseTags,按規定b y FMcorz和Daniel Shannon。
組合使得
- 自動閉合(解釋標籤由於嵌套規則),只需輸入</
,在飛行中大,反之,埃米特將
- 擴張的「縮寫」,以全面開啓和關閉標籤(和更多)按Crtl-E
。這對創建骨架非常有用。
- 1. 崇高文本2 - HTML自動完成
- 2. 崇高的文本3 - 創建標籤自動完成
- 3. 未知的CSS標籤在崇高文本中的完成
- 4. 崇高文本2 - 自動完成/自其他文件表明
- 5. 如何在崇高文本中使用自動完成
- 6. 如何在崇高文本3中創建自動完成類?
- 7. 崇高文本2自動文件路徑完成
- 8. C + +的崇高文本自動完成插件?
- 9. 崇高的文本2帶有「>」字符的HTML自動完成
- 10. 可以崇高文本自動完成CSS類?
- 11. 自動完成suggession上的HTML標籤
- 12. 崇高2自動完成HTML與多個類
- 13. 崇高的文字3自動完成的插件不工作
- 14. 崇高的文字2自動完成codeigniter項目
- 15. 自動完成在html記事本中關閉標籤++
- 16. Jupyter筆記本VS崇高自動完成未顯示
- 17. 如何自動完成selenium ide中的自動完成標籤?
- 18. 自定義自動完成功能在vim,像崇高文本2
- 19. 崇高文本中的文件路徑完成3
- 20. 使用Vim中的代碼完成作爲崇高的文本
- 21. 完成HTML標籤
- 22. 崇高3包自定義自動完成
- 23. 如何設置崇高文本以始終顯示自動完成建議
- 24. 自動完成Eclipse中的HTML標記
- 25. javascript/html自動完成文本框
- 26. 更好地自動完成崇高的SCSS
- 27. 隱藏狀態欄中的標籤大小崇高文本
- 28. 啓用鼠標滾輪更改標籤的崇高文本3
- 29. 標籤上的自動完成文本框
- 30. 自動完成彈出式菜單中的崇高文字3不顯示
您是否嘗試過任何JSX或Babel插件以查看它們是否滿足您的需求? – WiredPrairie
是的,我使用babel-sublime,它做得很好,但不幸的HTML自動補全不起作用。 –
我不相信這是一個功能。 – WiredPrairie