其實不用裝外掛,vs code 是預設支援不同語言檔案載入不同配置的,首選項 -> 設定 setting.json (雖然 JSON 不支援註釋,但 vs code 的此配置檔案支援註釋)示例:
然後過載編輯器生效設定,這時候開啟不同的檔案,會看到右下方的 tab 空格數為各語言設定中的值。
這句話我的理解:
打個比方,你對於 JavaScript 的 tabSize 設定可能是2個空格,但是你打開了一個 demo,它的程式碼以4個空格為縮排,那麼這個時候 editor.detectIndentation 會檢查到此檔案內容以4個空格為縮排,便臨時將 tabSize 設定改為4個空格,這就時為什麼你可能設定為 tabSize=2,而開啟一個檔案右下角顯示 tabSize=4。(所以其實不改 tabSize,寫的時候自己手動空兩格,之後用回車縮排都會變成2格)
其實不用裝外掛,vs code 是預設支援不同語言檔案載入不同配置的,首選項 -> 設定 setting.json (雖然 JSON 不支援註釋,但 vs code 的此配置檔案支援註釋)示例:
然後過載編輯器生效設定,這時候開啟不同的檔案,會看到右下方的 tab 空格數為各語言設定中的值。
還有一種簡單的進入各語言設定的方法就是:開啟相應語言的檔案 -> 點選右下角選擇語言模式的選項 -> 在出現的下拉選單中選擇 “配置 xx 語言基礎設定” -> 然後便會出現 setting.json 檔案,游標停留在相應語言子設定的物件內,此時寫在語言子設定物件內的設定便會在開啟相應語言檔案時載入。(一些語言 vs code 本身不支援需要裝相應語言擴充套件)最後解釋下設定後不生效的可能情況,和該設定在 `editor.detectIndentation` 啟用時根據檔案內容進行重寫這句話我的理解:
打個比方,你對於 JavaScript 的 tabSize 設定可能是2個空格,但是你打開了一個 demo,它的程式碼以4個空格為縮排,那麼這個時候 editor.detectIndentation 會檢查到此檔案內容以4個空格為縮排,便臨時將 tabSize 設定改為4個空格,這就時為什麼你可能設定為 tabSize=2,而開啟一個檔案右下角顯示 tabSize=4。(所以其實不改 tabSize,寫的時候自己手動空兩格,之後用回車縮排都會變成2格)