優(yōu)化開發(fā)體驗:VSCode配置技巧分享

當(dāng)你打開 Visual Studio Code (簡稱 VSCode),是否曾想過如何讓它變得更符合你的工作習(xí)慣?作為一款功能強大且靈活的代碼編輯器,VSCode 提供了豐富的配置選項,可以幫助你定制出最理想的開發(fā)環(huán)境。無論是自動化代碼格式化,還是實時編譯 Sass 文件,甚至只是簡單地美化你的編輯器界面,合理的配置都可以讓你的開發(fā)工作變得更加高效和愉悅。

在本文中,我們將介紹一些關(guān)鍵的 VSCode 配置項,幫助你在日常開發(fā)中節(jié)省時間、提高生產(chǎn)力,并享受更加流暢的編碼體驗。無論你是剛剛接觸 VSCode 的新手,還是希望進(jìn)一步優(yōu)化自己工作流程的開發(fā)者,以下的配置建議都將為你帶來實實在在的幫助。讓我們一起開始這場優(yōu)化之旅吧!

一、如何高效定制 VSCode

打開 VSCode,通過點擊左上角的 “File (文件)” 菜單,然后選擇 “Preferences (首選項)” > “Settings (設(shè)置)”,或者直接按下快捷鍵 Ctrl + ,(Windows/Linux)或 Cmd + ,(Mac)快捷鍵來訪問設(shè)置頁面。

vscode_open_setting.jpg

在這里,你可以看到所有的配置項列表。為了方便管理,你可以創(chuàng)建一個 .json 文件來集中管理配置項。點擊設(shè)置頁面中 Open Setting (UI),即可打開一個名為 settings.json 的文件,在這里你可以直接編輯 JSON 格式的配置。

vscode_open_setting_json.jpg

打開了 settings.json 文件,就可以開始添加或修改配置項了。確保你的配置語法正確無誤,以免引起錯誤。

vscode_setting_json.jpg

二、VSCode 配置清單

1、保存時自動格式化

此配置用于控制 VSCode 中不同文件類型的默認(rèn)格式化工具,確保在保存文件時自動格式化代碼,并指定特定語言的默認(rèn)格式化擴展(需安裝插件:Prettier - Code formatter)。

配置 Json:
{
    "editor.formatOnSave": true,
    "editor.wordWrapColumn": 200,
    "[html]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[css]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[less]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[scss]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[vue]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[markdown]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "[yaml]": {
        "editor.defaultFormatter": "redhat.vscode-yaml"
    }
}
配置說明:
配置項 作用說明
editor.formatOnSave true 啟用保存文件時自動格式化代碼。
editor.wordWrapColumn 200 設(shè)置自動換行的列數(shù)為 200,當(dāng)文本長度超過此列數(shù)時自動換行。
[html] {...} 指定 HTML 文件的默認(rèn)格式化工具為esbenp.prettier-vscode
[css], [less], [scss] {...} 指定 CSS、LESS 和 SCSS 文件的默認(rèn)格式化工具為esbenp.prettier-vscode。
[javascript], [typescript] {...} 指定 JavaScript 和 TypeScript 文件的默認(rèn)格式化工具為esbenp.prettier-vscode。
[vue] {...} 指定 Vue 文件的默認(rèn)格式化工具為esbenp.prettier-vscode
[markdown] {...} 指定 Markdown 文件的默認(rèn)格式化工具為esbenp.prettier-vscode。
[json], [jsonc] {...} 指定 JSON 和帶有注釋的 JSON 文件的默認(rèn)格式化工具為vscode.json-language-features。
[yaml] {...} 指定 YAML 文件的默認(rèn)格式化工具為redhat.vscode-yaml。

2、光標(biāo)的平滑動效

此配置改善了 VSCode 中的編輯器和平面工作區(qū)列表的滾動體驗,并調(diào)整了光標(biāo)的顯示方式,使得編碼更加流暢舒適。

配置 Json:
{
    "editor.smoothScrolling": true,
    "editor.cursorBlinking": "expand",
    "editor.cursorSmoothCaretAnimation": "on",
    "workbench.list.smoothScrolling": true
}
配置說明:
配置項 作用說明
editor.smoothScrolling true 開啟平滑滾動功能,使編輯器內(nèi)的滾動更加順暢。
editor.cursorBlinking expand 設(shè)置光標(biāo)的閃爍樣式為展開模式,當(dāng)光標(biāo)在最后一行時,會擴展到下一行的開始位置。
editor.cursorSmoothCaretAnimation on 啟用平滑的光標(biāo)動畫效果,使得光標(biāo)的移動更加自然。
workbench.list.smoothScrolling true 在工作臺的所有列表和平面樹控件中啟用平滑滾動,如文件資源管理器、符號列表等。

3、自動補全

此配置優(yōu)化了 VSCode 編輯器中自動關(guān)閉括號、引號以及刪除和覆蓋行為,使得代碼輸入更加流暢,并減少了手動添加關(guān)閉符號的工作量。

配置 Json:
{
    "editor.autoClosingBrackets": "beforeWhitespace",
    "editor.autoClosingDelete": "always",
    "editor.autoClosingOvertype": "always",
    "editor.autoClosingQuotes": "beforeWhitespace",
}
配置說明:
配置項 作用說明
editor.autoClosingBrackets "beforeWhitespace" 當(dāng)光標(biāo)位于空格之前時,自動關(guān)閉括號。這可以防止在字符串內(nèi)部或其他不希望的地方自動添加括號。
editor.autoClosingDelete "always" 在刪除與之配對的打開括號/引號時,也刪除對應(yīng)的自動關(guān)閉括號/引號。
editor.autoClosingOvertype "always" 在覆蓋模式下,插入自動關(guān)閉的括號/引號時替換已存在的字符。
editor.autoClosingQuotes "beforeWhitespace" 當(dāng)光標(biāo)位于空格之前時,自動關(guān)閉引號。這可以防止在字符串內(nèi)部或其他不希望的地方自動添加引號。

4、代碼格式規(guī)范

通過配置文本的換行和行高、縮進(jìn)檢測及 Tab 寬度、保存文件時移除行尾空白字符,以及控制 JavaScript 和 TypeScript 代碼格式化時是否移除多余的分號,你可以顯著提升 VSCode 編輯器的可讀性和代碼整潔度。這些設(shè)置不僅使代碼更加統(tǒng)一和美觀,還能避免因意外縮進(jìn)或不必要的變更而導(dǎo)致的問題,確保代碼風(fēng)格的一致性,并遵循特定的編碼規(guī)范。

配置 Json:
{
    "editor.wordWrap": "on",
    "editor.lineHeight": 1.6,
    "editor.detectIndentation": false,
    "editor.tabSize": 4,
    "files.trimTrailingWhitespace": true,
    "javascript.format.semicolons": "remove",
    "typescript.format.semicolons": "remove",
}
配置說明:
配置項 作用說明
editor.wordWrap "on" 啟用自動換行功能,當(dāng)文本長度超過視圖寬度時,文本將會自動換行,避免水平滾動。
editor.lineHeight 1.6 設(shè)置行高為 1.6 倍,默認(rèn)情況下,行間距增加,使得文本行之間的空間更大,提高可讀性。
editor.detectIndentation false 關(guān)閉自動檢測文件中的縮進(jìn)寬度和使用空格代替 Tab 的功能。這樣可以避免加載文件時根據(jù)文件內(nèi)容自動調(diào)整縮進(jìn)的問題。
editor.tabSize 4 設(shè)置 Tab 鍵插入的字符數(shù)為 4 個,即每個 Tab 相當(dāng)于 4 個空格的寬度。這有助于保持代碼風(fēng)格一致。
files.trimTrailingWhitespace true 啟用保存文件時移除每行末尾空白字符的功能。這有助于保持代碼的整潔,并減少由于無意的空格引起的版本控制差異。
javascript.format.semicolons "remove" 設(shè)置 JavaScript 代碼格式化時移除多余的分號。
typescript.format.semicolons "remove" 設(shè)置 TypeScript 代碼格式化時移除多余的分號。

5、自動更新引用

此配置用于優(yōu)化 VSCode 中 TypeScript、JavaScript 和 Vue.js 項目的自動導(dǎo)入行為,使得代碼編寫更加高效,并確保文件移動時自動更新導(dǎo)入語句。

配置 Json:
{
    "typescript.preferences.preferTypeOnlyAutoImports": true,
    "typescript.preferences.includePackageJsonAutoImports": "on",
    "javascript.suggest.autoImports": true,
    "typescript.suggest.autoImports": true,
    "vue.updateImportsOnFileMove.enabled": true,
}
配置說明:
配置項 作用說明
typescript.preferences.preferTypeOnlyAutoImports true 在自動導(dǎo)入時,優(yōu)先使用類型只讀導(dǎo)入(import type {} from 'module'),適用于僅需要類型信息的情況。
typescript.preferences.includePackageJsonAutoImports "on" 在自動導(dǎo)入時,包括來自package.json中的依賴項。這使得從node_modules中引入模塊更加方便。
javascript.suggest.autoImports true 啟用 JavaScript 的自動導(dǎo)入建議,當(dāng)引用模塊或類型時,自動提供導(dǎo)入語句的建議。
typescript.suggest.autoImports true 啟用 TypeScript 的自動導(dǎo)入建議,與 JavaScript 類似,但在 TypeScript 環(huán)境中更為重要。
vue.updateImportsOnFileMove.enabled true 當(dāng) Vue 組件文件被移動時,自動更新所有相關(guān)導(dǎo)入語句,確保文件路徑正確無誤。

6、代碼展示優(yōu)化

通過配置括號匹配的高亮顯示和引導(dǎo)線,以及控制迷你地圖的顯示和折疊策略,你可以增強 VSCode 編輯器內(nèi)代碼結(jié)構(gòu)的可見性和美觀性,同時保持編輯器界面的簡潔。這些設(shè)置不僅幫助開發(fā)者更容易地理解和導(dǎo)航代碼結(jié)構(gòu),還能通過基于代碼縮進(jìn)的折疊策略減少視覺上的雜亂,從而提升開發(fā)效率和代碼可讀性。

配置 Json:
{
    "editor.guides.bracketPairs": true,
    "editor.bracketPairColorization.enabled": true,
    "editor.minimap.enabled": false,
    "editor.foldingStrategy": "indentation",
}
配置說明:
配置項 作用說明
editor.guides.bracketPairs true 啟用括號對引導(dǎo)線,在編輯器中繪制線條連接成對的括號,以便更清晰地看到它們的關(guān)系。
editor.bracketPairColorization.enabled true 啟用括號對的顏色高亮功能,為不同類型的括號對使用不同的顏色進(jìn)行標(biāo)記,以區(qū)分不同的代碼塊。
editor.minimap.enabled false 禁用迷你地圖功能,移除編輯器右側(cè)的迷你地圖面板。
editor.foldingStrategy "indentation" 設(shè)置折疊策略為基于代碼縮進(jìn)的折疊方式,使得代碼折疊更加直觀和易于理解。

7、文件標(biāo)簽顯示方式

此配置用于自定義 VSCode 中特定文件的標(biāo)簽顯示方式,使得目錄中的index文件在編輯器標(biāo)簽中顯示為目錄名加上文件擴展名的形式,從而更清晰地區(qū)分不同目錄下的同名文件。

配置 Json:
{
    "workbench.editor.customLabels.patterns": {
        "**/index.vue": "${dirname}.vue",
        "**/index.js": "${dirname}.js",
        "**/index.ts": "${dirname}.ts",
        "**/index.jsx": "${dirname}.jsx",
        "**/index.tsx": "${dirname}.tsx"
    },
}
配置說明:
配置項 作用說明
workbench.editor.customLabels.patterns {...} 定義了一組模式匹配規(guī)則,用于自定義特定文件類型的編輯器標(biāo)簽顯示方式。
**/index.vue ${dirname}.vue 當(dāng)打開名為index.vue的文件時,編輯器標(biāo)簽將顯示為該文件所在目錄名加上.vue
**/index.js ${dirname}.js 當(dāng)打開名為index.js的文件時,編輯器標(biāo)簽將顯示為該文件所在目錄名加上.js。
**/index.ts ${dirname}.ts 當(dāng)打開名為index.ts的文件時,編輯器標(biāo)簽將顯示為該文件所在目錄名加上.ts
**/index.jsx ${dirname}.jsx 當(dāng)打開名為index.jsx的文件時,編輯器標(biāo)簽將顯示為該文件所在目錄名加上.jsx。
**/index.tsx ${dirname}.tsx 當(dāng)打開名為index.tsx的文件時,編輯器標(biāo)簽將顯示為該文件所在目錄名加上.tsx

8、文件關(guān)聯(lián)

此配置用于控制 VSCode 中文件擴展名與語言模式的關(guān)聯(lián),使得特定擴展名的文件能夠使用預(yù)設(shè)的語言模式進(jìn)行高亮顯示和語法檢查。

配置 Json:
{
    "files.associations": {
        "*.wxss": "css",
        "*.wxml": "html",
        "*.svg": "html",
        "*.xml": "html",
        "*.wxs": "javascript",
        "*.cjson": "jsonc",
        "*.json": "jsonc",
    },
}
配置說明:
配置項 作用說明
files.associations {...} 文件擴展名與語言模式關(guān)聯(lián)的配置對象。
*.wxss css .wxss文件關(guān)聯(lián)為 CSS 語言模式。
*.wxml html .wxml文件關(guān)聯(lián)為 HTML 語言模式。
*.svg html .svg文件關(guān)聯(lián)為 HTML 語言模式。
*.xml html .xml文件關(guān)聯(lián)為 HTML 語言模式。
*.wxs javascript .wxs文件關(guān)聯(lián)為 JavaScript 語言模式。
*.cjson jsonc .cjson文件關(guān)聯(lián)為 JSON with Comments 語言模式。
*.json jsonc .json文件關(guān)聯(lián)為 JSON with Comments 語言模式。

9、提示設(shè)置

此配置項優(yōu)化了 VSCode 的智能建議和代碼補全功能,使其更加符合用戶的操作習(xí)慣,并提高代碼輸入的效率。通過調(diào)整建議行為和接受方式,可以讓代碼編寫過程更加順暢。
此配置用于控制 VSCode 編輯器中快速建議的行為,使得在鍵入代碼時,編輯器不僅在普通代碼中提供快速建議,還能夠在注釋和字符串中提供相應(yīng)的建議。

配置 Json:
{
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "editor.acceptSuggestionOnEnter": "smart",
    "editor.suggestSelection": "recentlyUsedByPrefix",
    "editor.suggest.insertMode": "replace",
    "editor.quickSuggestions": {
        "other": true,
        "comments": true,
        "strings": true
    },
}
配置說明:
配置項 作用說明
editor.suggest.snippetsPreventQuickSuggestions false 控制是否讓代碼片段阻止快速建議的顯示。設(shè)置為 false 表示即使存在代碼片段,也會顯示快速建議。
editor.acceptSuggestionOnEnter "smart" 控制是否在按下 Enter 鍵時接受建議。設(shè)置為 "smart" 表示只有當(dāng)建議確實完成輸入時才接受。
editor.suggestSelection "recentlyUsedByPrefix" 當(dāng)有多個建議時,優(yōu)先選擇最近使用過的或與前綴最匹配的建議。
editor.suggest.insertMode replace 設(shè)置智能建議插入模式為替換模式。這意味著當(dāng)插入建議時,它將替換掉光標(biāo)后面的文本,而不是僅僅插入文本。
editor.quickSuggestions {...} 配置快速建議的全局開關(guān),控制何時顯示代碼建議。
other true 在非字符串和非注釋的代碼中開啟快速建議。
comments true 在注釋中開啟快速建議。
strings true 在字符串中開啟快速建議。

10、美化編輯器界面

此配置用于改變 VSCode 窗口的樣式,控制啟動時的行為,并設(shè)置編輯器的顏色主題,從而打造出一個既符合個人審美又高效的開發(fā)環(huán)境。

配置 Json:
{
    "window.dialogStyle": "custom",
    "workbench.startupEditor": "none",
    "workbench.colorTheme": "One Dark Pro Darker",
    "workbench.startupEditor": "none",
}
配置說明:
配置項 作用說明
window.dialogStyle "custom" 將對話框樣式設(shè)置為自定義模式,這意味著對話框?qū)⑹褂?VSCode 自身的樣式,而不是操作系統(tǒng)默認(rèn)的對話框樣式。
workbench.startupEditor "none" 設(shè)置啟動編輯器為“無”,意味著在啟動 VSCode 時不會自動打開任何編輯器或歡迎頁面,而是直接進(jìn)入空工作區(qū)。
workbench.colorTheme "One Dark Pro Darker" 設(shè)置工作區(qū)的顏色主題為"One Dark Pro Darker"(需安裝 One Dark Pro Darker 主題)。
files.autoGuessEncoding true 啟用自動猜測文件編碼的功能。當(dāng)打開一個文件時,VSCode 將嘗試自動檢測文件的編碼格式,以確保文件內(nèi)容能夠正確顯示。

11、搜索排除

此配置用于控制 VSCode 中的搜索行為,排除指定路徑下的文件和文件夾,以提高搜索效率并避免不必要的結(jié)果。

配置 Json:
{
    "search.exclude": {
        "**/node_modules": true,
        "**/pnpm-lock.yaml": true,
        "**/package-lock.json": true,
        "**/.DS_Store": true,
        "**/.git": true,
        "**/.gitignore": true,
        "**/.idea": true,
        "**/.vscode": true,
        "**/build": true,
        "**/dist": true,
        "**/tmp": true,
    },
}
配置說明:
配置項 作用說明
search.exclude {...} 排除搜索路徑的配置對象。
**/node_modules true 排除node_modules目錄下的所有文件。
**/pnpm-lock.yaml true 排除pnpm-lock.yaml文件。
**/package-lock.json true 排除package-lock.json文件。
**/.DS_Store true 排除.DS_Store文件(macOS 系統(tǒng)文件)。
**/.git true 排除.git目錄下的所有文件。
**/.gitignore true 排除.gitignore文件。
**/.idea true 排除.idea目錄下的所有文件(IntelliJ IDEA 配置文件)。
**/.vscode true 排除.vscode目錄下的所有文件(VSCode 工作區(qū)配置文件)。
**/build true 排除build目錄下的所有文件。
**/dist true 排除dist目錄下的所有文件(通常用于存放構(gòu)建后的文件)。
**/tmp true 排除tmp目錄下的所有文件(臨時文件)。

12、其它的配置

通過配置 editor.wordSeparators、啟用鼠標(biāo)滾輪縮放、設(shè)置粘性滾動以及調(diào)整折疊策略,你可以顯著提升 VSCode 編輯器的操作便利性和代碼可讀性。自定義單詞分隔符可以更精確地識別代碼中的關(guān)鍵字和變量名,滾輪縮放功能則便于調(diào)整文本大小以便更好地查看代碼。粘性滾動功能讓頂部的行在滾動時暫時固定顯示,直至滾動到一定距離后再繼續(xù)跟隨滾動,而資源管理器和筆記本視圖,使其顯示更加緊湊,從而節(jié)省空間并提高瀏覽效率。

配置 Json:
{
    "editor.wordSeparators": "`~!@%^&*()=+[{]}\\|;:'\",.<>/?(),。;:",
    "editor.mouseWheelZoom": true,
    "editor.stickyScroll.enabled": true,
    "explorer.compactFolders": true,
    "notebook.compactView": true,
}
配置說明:
配置項 作用說明
editor.wordSeparators "`~!@%^&*()=+[{]}\|;:'",.<>/?(),。;:" 通過定義單詞分隔符集合在編輯器中被視為單詞的邊界
editor.mouseWheelZoom true 啟用鼠標(biāo)滾輪縮放功能,當(dāng)用戶按住 Ctrl 鍵并滾動鼠標(biāo)滾輪時,編輯器內(nèi)的文本大小將會縮放。
editor.stickyScroll.enabled true 啟用粘性滾動功能,當(dāng)滾動編輯器內(nèi)容時,頂部幾行會在短時間內(nèi)保持靜止,直到滾動過一定距離后才隨文檔繼續(xù)移動。
explorer.compactFolders true 在資源管理器中啟用緊湊模式,隱藏未打開文件夾的圖標(biāo),只顯示文件夾名稱,節(jié)省空間。
notebook.compactView true 在筆記本編輯器中啟用緊湊視圖模式,減少單元格間的空白區(qū)域,使得頁面布局更加緊密。

原文地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容