要保留 vscode 中手動編寫的模塊導入順序,需關閉自動排序和格式化功能。1. 若使用 prettier,可在 .prettierrc 文件中設置 “organizeimports”: false 或移除排序插件;2. 若使用 eslint,則在 .eslintrc.JS 中關閉 ‘import/order’ 規則;3. 在 vscode 設置中關閉保存時自動格式化功能,可通過取消勾選 editor: format on save 和 editor: code actions on save 選項或在 settings.json 中配置 “editor.formatonsave”: false 及 “source.organizeimports”: false 實現;4. 對于特殊需求,可用 // prettier-ignore 注釋臨時跳過排序。通過上述步驟可有效防止導入語句被自動調整。
VSCode 默認會自動對導入語句進行排序和格式化,這在多人協作或維護特定風格規范時可能會帶來困擾。如果你希望保留手動編寫的模塊順序,而不是讓編輯器自動整理,就需要做一些設置調整。
關閉自動排序的關鍵設置
要禁用 VSCode 的自動導入排序功能,主要依賴于你使用的語言和格式化工具。對于 JavaScript/typescript 項目來說,通常是 Prettier 或 ESLint 在控制這一行為。
- 如果你使用的是 Prettier,可以在項目根目錄下的 .prettierrc 文件中添加如下配置:
{ "semi": false, "singleQuote": true, "importOrder": ["absolute", "relative"] }
或者直接關閉排序功能:
{ "organizeImports": false }
注意:Prettier 本身并不默認開啟導入排序,但如果你安裝了 @trivago/prettier-plugin-sort-imports 這類插件,就會影響排序行為。
- 如果你使用的是 ESLint 和 eslint-plugin-import 插件,則需要在 .eslintrc.js 中關閉排序規則:
'import/order': 'off'
這樣就能防止保存時自動調整導入順序。
設置保存時不自動格式化
即使你已經關閉了排序規則,如果啟用了保存時自動格式化,也可能會被其他格式化工具“偷偷”改掉順序。
進入 VSCode 設置(快捷鍵 Ctrl + ,),搜索以下選項并取消勾選:
- Editor: Format On Save
- Editor: Code Actions On Save
也可以在 settings.json 中手動配置:
{ "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.organizeImports": false } }
這樣可以確保你在保存文件時不會觸發任何格式化或導入整理動作。
使用注釋臨時跳過排序(適用于部分場景)
有些格式化工具支持通過注釋來控制是否跳過某段代碼的處理。比如在 Prettier 中,你可以這樣做:
// prettier-ignore import { A, B, C } from 'module';
不過這種方式主要用于跳過整段格式化,不太適合長期維持導入順序。但如果只是想臨時保留幾個特殊順序的 import 行,這種方式很實用。
基本上就這些。只要合理配置格式化工具和保存行為,就可以很好地保留你原本的導入順序。