搜尋
首頁開發工具VSCode帶你用VSCode的Format功能實現程式碼格式化

只用VSCode自帶的Format功能,即可滿足可設定的程式碼格式化需求!以下這篇文章就來帶大家了解VSCode的Format功能,希望對大家有幫助!

帶你用VSCode的Format功能實現程式碼格式化

近年來開發環境越來越重視程式碼的規範化,借助工具來檢查、自動化修復,成為了程式碼保障的第一選擇。

一般會使用Lint (ESLint StyleLint)Prettier等輔助工具,透過簡單的配置部署,就可以使用一些比較流行的Code Style規範,達到自動提示、自動修復、自動執行和監督的目的。

但不知道大家有沒有遇到以下幾種情境:

  • IDE裡敲程式碼時,由於沒有即時format(一般在save時自動format),總是出現紅色的提示,總是以為是自己的文法寫錯了,其實只是還未format。 (例如ESLint外掛程式的自動校驗提示)

  • 剛開始使用時,總是遇到不理解的規則(可能太過嚴格了),還得點進到提示裡查看具體原因,相當於一邊開發一邊學習規則。

  • 寫了一段程式碼,save後程式碼突然變長了,全給換行了,50行的code硬生給拉到100行。 這裡就不指名誰了

  • 對程式碼規格(更多的指格式化)並沒有太多要求,例如專案比較小,專案進度比較緊等。只要能滿足基本的格式化要求就行。

尤其是最後一條,其實很多小專案只要能滿足最基本的格式化就行,能保證團隊內都能滿足並執行一套簡單規範,其它比較嚴格的規範可以不用考慮。

這裡提到一個概念,規格分為兩種:程式碼格式規則(Formatting rules)# 和程式碼品質規則(Code-quality rules)。上述提到的基本規範,基本就屬於程式碼格式規則

下面列下有哪些常用的,基本的格式化規則,即程式碼格式規則,以standardjs style 為例:

#可以看到,基本上都是分號

帶你用VSCode的Format功能實現程式碼格式化

帶你用VSCode的Format功能實現程式碼格式化#進

空格

    空白
  • 相關的規範,而這些規範在某些IDE裡已經整合好了。

    例如VSCode,就可以透過簡單配置,滿足上述的所有規則。

  • VSCode Format
  • VSCode本身就帶有一個Format功能,大多檔案類型都支援。預設快速鍵是Ctrl K D

  • 也支援設定為Format on Save

  • 然後列下上述基本規格裡,哪些不包含在預設Format功能裡。

    分號

    。 - 預設沒有規範,可以透過
  • settings
來配置。

空格縮排。 - 預設4個空格TabSize,可以透過settings

配置。

函數宣告時括號與函數名間加空格。 - 跟standardjs不一樣,VSCode預設沒有空格。

檔案結尾留一

空白行。 - 預設沒有,可以透過settings

配置。

帶你用VSCode的Format功能實現程式碼格式化

  • 就4個,其中第3個可以說規則不一樣,但是有規則的,所以綜合就3個。所以說大部分規則預設format功能裡已經支援了。

    1. 分號
  • 分為三種規格:要求必須有分號;

    禁止分號
  • ;
  • 都行

    。在市面上流行規範裡,啥樣都有,但是一般都是要求必須有

    禁止
  • 的。

VSCode預設沒有要求,但是可以透過settings定義:

#########ignore## # 默認,就是有沒有分號都行;###############insert### 必須有分號;############### remove### 禁止分號。 ###############2. 縮排規範#########一般分為兩種規範,2個空格還是4個空格,現在大多市面上流行的規範裡,都是以2個空格為準。 ######VSCode預設規格是:###
  • Detect Indentation 對應settings: editor.detectIndentation 預設值true,根據目前檔案內容來偵測目前檔案是2個空格還是4個空格,然後根據這個來Format;
  • Tab Size 對應settings: editor.tabSize:預設值4,如果是新文件,則是根據這個值來決定,預設是4個tab size。

帶你用VSCode的Format功能實現程式碼格式化

如上圖是預設配置,如果想所有檔案都以2個空格縮排作為規範,可以先關掉Detect Indentation ,再把Tab Size設定為2。

如果不關Detect Indentation,只改Tab Size為2,則是依照檔案內容縮進,然後新建檔案是2個空格縮排。

VSCode是根據什麼檢測檔案的tabsize是多大,可以在檔案底部狀態列看到,點擊還可以更改。

帶你用VSCode的Format功能實現程式碼格式化

3. 檔案結尾留一空行

#settings裡搜尋關鍵字insertFinalNewline,預設選項是disable的,在check上,save時就會給所有檔案結尾留一空行。

帶你用VSCode的Format功能實現程式碼格式化

綜上

綜上,所有settings配置如下:

這裡建議設定Workspace下的settings,設定後會在.vscode路徑下產生settings.json文件,可以提交到git上統一開發團隊內部規格。

// .vscode/settings.json
{
  "editor.formatOnSave": true, // 保存文件自动format
  "javascript.format.semicolons": "insert", // js文件,强制必须有分号,设置`remove`则禁止分号
  "typescript.format.semicolons": "insert", // ts文件,同上
  "editor.tabSize": 2, // 设置默认缩进为2个空格
  "editor.detectIndentation": false, // 是否强制所有文件按tabSize设置缩进;"否"则根据文件内容缩进、新建文件按tabSize缩进。
  "files.insertFinalNewline": true, // 所有文件末尾留一空行
  "[javascript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features" // 设置js类型文件的默认format为VSCode自带Format
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "vscode.typescript-language-features" // jsx文件,同上
  },
  "[css]": {
    "editor.defaultFormatter": "vscode.css-language-features" // css文件,同上
  },
  "[less]": {
    "editor.defaultFormatter": "vscode.css-language-features" // less文件,同上
  }
}

其實VSCode settings裡還可以配置更多的format配置,大家可以自己摸索。

其它格式檔案Format

例如css、less、json、md等,個人感覺直接用VSCode預設的就夠了。

其它規格:

除了以上提到的程式碼格式規則,其它規格就屬於是程式碼品質規則了,這種用ESLint規範下就行了,因為這些規範和上述程式碼格式規則是不衝突的,配合ESLint的auto fix on save,可以滿足儲存檔案的時候,先用VSCode format 程式碼格式規則,然後用ESLint處理程式碼品質規則。舉幾個例子:

  • 強制單引號或雙引號。 eslint: quotes

  • #總是使用。 === 替代 ==。 eslint: eqeqeq

關於ESLint的用法,可以參考之前的文章:ESLint配合VSCode統一團隊前端程式碼規格

最後

本文整理如何只用VSCode開發工具,來規格前端Code的程式碼格式規格,並且支援可設定、儲存檔案自動格式化程式碼功能。

優點:

  • 配置簡單,不用安裝各種npm或插件,VSCode本身就有的功能。

  • 適合小的簡單項目,或是對程式碼格式規格需求不高的項目,適合小廠。

  • 部分規則支援自訂,可依實際需求進行設定。

缺點:

  • #規則不多,基本上都是程式碼格式規則,做不了程式碼品質規則的校驗,需要結合ESLint搭配。

  • 滿足不了對格式規格要求比較高的項目,例如大項目、大廠。

  • 比起ESLint,規則很少,可配置化也不多。

  • 比起Prettier,規則也很少,肯定比不了一些流行的程式碼風格規範。

  • 沒辦法透過Git Hooks做到提交程式碼時的自動校驗。

此文只是提供了一個程式碼格式規格的一種解決方案,一種思路,適不適合自己還得看自身需求。

更多關於VSCode的相關知識,請造訪:vscode基礎教學

以上是帶你用VSCode的Format功能實現程式碼格式化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
視覺工作室仍然免費嗎?了解可用性視覺工作室仍然免費嗎?了解可用性Apr 18, 2025 am 12:05 AM

是的,VisualStudio某些版本是免費的。具體來說,VisualStudioCommunityEdition對個人開發者、開源項目、學術研究和小型組織免費。然而,也有付費版本如VisualStudioProfessional和Enterprise,適用於大型團隊和企業,提供額外功能。

使用Visual Studio:跨平台開發軟件使用Visual Studio:跨平台開發軟件Apr 17, 2025 am 12:13 AM

使用VisualStudio進行跨平台開發是可行的,通過支持.NETCore和Xamarin等框架,開發者可以編寫一次代碼並在多個操作系統上運行。 1)創建.NETCore項目並使用其跨平台能力,2)使用Xamarin進行移動應用開發,3)利用異步編程和代碼重用來優化性能,確保應用的高效運行和可維護性。

vscode如何格式化jsonvscode如何格式化jsonApr 16, 2025 am 07:54 AM

在 VS Code 中格式化 JSON 的方法有:1. 使用快捷鍵 (Windows/Linux:Ctrl Shift I;macOS:Cmd Shift I);2. 通過菜單(“編輯” > “格式化文檔”);3. 安裝 JSON 格式化程序擴展(如 Prettier);4. 手動格式化(使用快捷鍵縮進/縮出塊或添加花括號和分號);5. 使用外部工具(如 JSONLint 和 JSON Formatter)。

vscode如何編譯vscode如何編譯Apr 16, 2025 am 07:51 AM

在 VSCode 中編譯代碼分 5 步:安裝 C 擴展;在項目文件夾中創建 "main.cpp" 文件;配置編譯器(如 MinGW);使用快捷鍵("Ctrl Shift B")或 "Build" 按鈕編譯代碼;使用快捷鍵("F5")或 "Run" 按鈕運行編譯後的程序。

vscode如何安裝vscode如何安裝Apr 16, 2025 am 07:48 AM

要安裝 Visual Studio Code,請按以下步驟操作:訪問官方網站 https://code.visualstudio.com/;根據操作系統下載安裝程序;運行安裝程序;接受許可協議並選擇安裝路徑;安裝完成後,VSCode 將自動啟動。

vscode如何放大字體vscode如何放大字體Apr 16, 2025 am 07:45 AM

在 Visual Studio Code 中放大字體的方法有:打開設置面板(Ctrl , 或 Cmd ,)。搜索並調整“Font Size”。選擇具有適合大小的“Font Family”。安裝或選擇提供合適大小的主題。使用鍵盤快捷鍵(Ctrl 或 Cmd )放大字體。

vscode如何連接遠程服務器vscode如何連接遠程服務器Apr 16, 2025 am 07:42 AM

如何通過 VSCode 連接遠程服務器?安裝 Remote - SSH 擴展配置 SSH在 VSCode 中創建連接輸入連接信息:主機、用戶名、端口、SSH 密鑰在 Remote Explorer 中雙擊已保存的連接

vscode如何運行vuevscode如何運行vueApr 16, 2025 am 07:39 AM

在 VSCode 中運行 Vue 項目需要以下步驟:1. 安裝 Vue CLI;2. 創建 Vue 項目;3. 切換到項目目錄;4. 安裝項目依賴;5. 運行開發服務器;6. 打開瀏覽器訪問 http://localhost:8080。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。