vscode 語法高亮很差勁問題,有沒有資料可以讓自己優化?
vscode(visual studio code) 有一些用的不是太廣泛語言,語法高亮好垃圾,而且除了初始版本,完全沒有後續版本的意思。自己研究了下,extensions目錄下,相應語言的高亮規則在一個.tmlanguage的文件里,無非是一些匹配的規則,但是貌似需要了解一下vscode的處理流程和規則,而且發現我修改了有些地方也完全沒作用,請問哪有資料可以了解的這部分內容的?
語法高亮的終極奧義,當然就是 TextMate 的官方文檔 TextMate Manual quot; Language GrammarsTextMate Manual quot; Language Grammars 。
這就是個 regex rule engine,如果修改了沒有用,最大可能是 regex 寫的有問題(override),也可能是我們有些 clause 沒支持,這時候就可以讀 Microsoft/vscode-textmate 的源碼了。願 Regex 與你同在。
code 用的 tmLanguage 和 Sublime Text 通用,所以……
你可以下個 ST3 的語法文件然後換掉自帶的……
Atom 的語法也可以用,需要把 cson 轉 JSON 再轉 plist
前陣子因為用vscode寫JSP,由於沒有JSP插件,就按照vscode文檔自己嘗試著做了個JSP語法高亮插件(做的很挫,不過能用)
vscode官方文檔里有講如何自定義語法高亮
鏈接: Visual Studio Code Colorizers- 方法一:在Extension Marketplace 中查找是否有相應的語法高亮插件
Extension Marketplace鏈接:https://marketplace.visualstudio.com/VSCode
如何使用vscode安裝插件:Managing Extensions in Visual Studio Code- 方法二:自定義語法高亮插件
1. 安裝nodejs npm
安裝方法:深入淺出Node.js(二):Node.jsNPM的安裝與配置
2. 安裝yo code安裝方法:The Yo Code Visual Studio Code Extension Generator3. 運行yo code選擇」New Language Support「
這裡提示我們需要tmLanguage的URL相應語言的tmLanguage可以在github gist(需翻 牆)中找到(比如我需要的jsp的tmlanguage文件:https://gist.github.com/dsine-de/3718a5d013a5d2dc4dff)下載tmlanguage文件,然後再命令行中填入該文件的路徑
之後就跟著提示(作者,插件名等信息)等待yo code extension generator生成一個文件夾(即插件)4. 將生成的文件夾放入vscode插件文件夾下插件文件夾位置:Installing Visual Studio Code Extensions5. 使用插件重啟vscode,新建一個文件,更換language mode(ctrl+k+m),找到自己新建的Language support,回車即可食用* 關於tmlanguage的語法規則,我並不清楚,尤其裡面需要大量正則表達式,目前只會使用已有的tmlanguage。這裡放一些當時我查找的信息:
什麼事tmlanguage: http://stackoverflow.com/questions/31197184/what-is-tmlanguage如何自定義語言的語法高亮:syntax highlighting( 希望能幫到你怎麼感覺題主在罵我。我就是把textmate的某語言高亮轉過來就不管了的。。
不過我把插件放github上了,歡迎fork歡迎pr推薦閱讀:
※vs code無法啟動怎麼解決?
※vscode怎麼隱藏左邊欄?
※為什麼VSCode裡面HTML沒有CSS和JS提示了???太不方便了!!!!!!
※Visual Studio Code怎麼在同一窗口打開多個項目文件?
TAG:代碼編輯器 | VisualStudioCode |