利用VSCode插件优化大型项目文件结构

酷杰小哥_6541

酷杰小哥_6541

2026-08-14

946人浏览

原创

多根工作区本质是按职责划分独立根目录(如frontend/、backend/、shared/),而非嵌套加载monorepo根;需通过“添加文件夹到工作区”构建.code-workspace文件,各根可独立配置.settings.json和extensions.json,配合files.exclude与search.exclude精准排除干扰路径,并在tsconfig.json中显式声明include与paths以保障ts跳转准确。

利用vscode插件优化大型项目文件结构

多根工作区不是“加文件夹”而是“划边界”

直接把整个 monorepo 根目录拖进 VSCode,等于让所有语言服务、LSP、文件监视器同时盯住 node_modules、dist、.git 和十几个子包——这不是加载项目,是启动压力测试。真正有效的做法是按职责切分根目录:frontend/、backend/、shared/ 各自作为独立根加入工作区,而不是嵌套在同一个文件夹里。

操作上:先打开 frontend/ → 文件 → 将文件夹添加到工作区 → 选中 backend/ → 再选 shared/。最后保存为 myproject.code-workspace。这个文件才是你下次双击启动的“项目入口”,不是某个目录路径。

  • 每个根目录下的 .vscode/settings.json 会覆盖全局设置,比如 editor.tabSize 可以前端设 2、后端设 4
  • .code-workspace 文件里写的 settings 是全局生效的,但只影响 UI 行为(如字体大小),不控制语言服务范围
  • 别在 .code-workspace 里写 extensions 字段——它只对第一个根生效,其余根完全无视

禁用扩展不能靠“关掉全部”,得按根目录精准关停

ESLint 在 frontend/ 里是刚需,在 backend/ 的 Python 目录里却会疯狂报错并吃光 CPU。VSCode 默认开启 extensions.autoRecommend,一加新根就自动装一堆不兼容插件,这是卡顿最隐蔽的源头。

正确做法是:在每个子目录下新建 .vscode/extensions.json,只列真正需要的扩展:

{
  "recommendations": ["esbenp.prettier-vscode", "ms-vscode.vscode-typescript-next"]
}

同时在用户设置里关掉自动推荐:"extensions.autoRecommend": false。这样既保留前端的格式化能力,又避免后端目录被 TypeScript 插件误扫描。

  • 右键禁用扩展时,选“在工作区中禁用”,不是“全局禁用”,否则其他小项目会丢功能
  • 像 Auto Import、Path Intellisense 这类常驻解析型扩展,建议默认禁用,需要时再手动启用
  • GitLens 在超大仓库里默认监视所有历史提交,导致内存暴涨,可改用内置 Git 功能或限制 gitlens.views.repositories.enabled

搜索卡死?不是 VSCode 慢,是你没告诉它“别搜哪儿”

按 Ctrl+Shift+F 卡住十几秒,大概率是因为 VSCode 正在递归扫描 node_modules 里的 20 万个文件。它默认不读 .gitignore,也不跳过符号链接,纯靠暴力遍历。

必须同时配置两组排除项:

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • files.exclude:影响资源管理器显示 + 文件监视器监听范围(防止 inotify 耗尽)
  • search.exclude:只影响 Ctrl+Shift+F 的实际扫描路径

在工作区级 .vscode/settings.json 中写死:

{
  "files.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/build": true,
    "**/.git": true
  },
  "search.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/coverage": true,
    "**/*.log": true
  }
}

注意:**/ 是必须的,单写 node_modules 不会递归生效;search.exclude 里加 **/*.log 能避开日志轰炸,而 files.exclude 里加它只是隐藏资源管理器里的文件图标。

TS 跳转失效?问题不在插件,而在 tsconfig.json 的 include 没收口

点击 import { utils } from '@lib/utils' 却跳不到定义,不是插件坏了,是 TypeScript 语言服务根本没索引那个路径。tsserver 默认会尝试加载所有依赖,遇到 node_modules 或未声明的子包就放弃跳转。

解决方案分两步:

  • 在 tsconfig.json 中显式声明 "include": ["src/**/*"],禁止 tsserver 扫描整个工作区
  • 配合 "baseUrl": "." 和 "paths" 配置别名,确保 @lib/* 映射到实际路径,否则路径映射只是摆设

如果项目含多个 tsconfig(如 frontend/tsconfig.json 和 shared/tsconfig.base.json),确保子配置用 "extends": "../shared/tsconfig.base.json",而不是复制粘贴——否则路径映射和类型检查会各自为政。

大型项目里,跳转不准往往不是编辑器问题,而是 TypeScript 自身的索引策略没被约束住。越早收口 include,越少遇到“明明文件存在却找不到定义”的情况。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1335

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2832

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1949

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2607

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

474

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程