要保留 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 行,这种方式很实用。
基本上就这些。只要合理配置格式化工具和保存行为,就可以很好地保留你原本的导入顺序。