VSCode如何自定义文件嵌套显示_VSCode自定义文件嵌套显示步骤

云伟小哥_5409

云伟小哥_5409

2026-04-01

448人浏览

原创

vscode需启用explorer.filenesting.enabled并配置explorer.filenesting.patterns,如"index.ts": ["index.test.ts"],规则仅对同目录下严格匹配的文件生效,不支持通配符或跨目录嵌套。

vscode如何自定义文件嵌套显示_vscode自定义文件嵌套显示步骤

VSCode 怎么让 index.ts 和 index.test.ts 折叠在一起

VSCode 本身不支持“文件嵌套”这个概念,所谓“嵌套显示”其实是靠 "explorer.autoExpandSingleChildFolders" 和文件名约定 + 自定义 "explorer.fileNesting.patterns" 实现的视觉折叠效果。核心不是真把文件合并,而是让编辑器把某些文件识别为“子项”,自动缩进并收在父文件下面。

常见错误是直接改 settings.json 却没启用 explorer.fileNesting.enabled,结果配了 pattern 也完全不生效。

  • 必须开启:在设置里搜 file nesting,勾选 Explorer > File Nesting: Enabled,或手动加 "explorer.fileNesting.enabled": true
  • 基础规则写法:"explorer.fileNesting.patterns": { "index.ts": ["index.test.ts", "index.spec.ts", "index.styles.ts"] }
  • 注意键名(index.ts)必须是真实存在的文件名,不能带通配符;值数组里的文件必须和它同目录,且命名要严格匹配
  • 如果想对所有 *.ts 都套一套测试文件,得逐个列:"user.service.ts": ["user.service.test.ts"],VSCode 不支持 "*.ts": ["*.test.ts"] 这种通配写法

explorer.fileNesting.patterns 的路径匹配逻辑是什么

它只看文件名,不看路径层级。也就是说,"Button.tsx": ["Button.stories.tsx"] 这条规则,只要同目录下存在 Button.tsx 和 Button.stories.tsx,就会把后者缩进显示在前者下方;但如果 Button.stories.tsx 在 stories/ 子目录里,就不会被识别。

这也意味着:你不能用它实现跨文件夹嵌套(比如把 src/components/Button/index.tsx 和 src/stories/Button.stories.tsx 拉一起),那是项目结构问题,得靠符号链接或插件解决。

VSCode
VSCode

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

下载
  • 规则只作用于同一级目录,不递归、不模糊匹配
  • 大小写敏感:写成 "button.tsx" 就匹配不了 Button.tsx
  • 扩展名必须完整一致:"index.js" 不会匹配 index.mjs 或 index.cjs
  • 空格和点号都要写准,"index .ts" 或 "index.ts " 都无效

为什么改了 settings.json 但文件树没变化

最常踩的坑是改了全局设置,却在工作区(workspace)里开了覆盖配置——VSCode 优先读取 .vscode/settings.json,如果里面也有 explorer.fileNesting.patterns,就会完全忽略用户级设置。

另一个隐蔽问题是缓存:VSCode 不会实时监听 settings 变更并重绘资源管理器,改完得手动刷新文件树(右键空白处 → Refresh Explorer),或者关掉再打开窗口。

  • 检查当前生效的是哪一层设置:打开命令面板(Ctrl+Shift+P),运行 Preferences: Open Settings (JSON),看顶部路径提示是 User 还是 Workspace
  • 确认没有拼写错误,尤其是引号是否全角、逗号是否遗漏、括号是否闭合
  • 如果用了单引号或中文引号,VSCode 会静默失败,不报错也不生效
  • 重启 VSCode 并非必须,但 Developer: Reload Window 命令比单纯刷新 Explorer 更可靠

嵌套后双击子文件,为什么打开的是独立标签页而不是展开父节点

这是设计如此,不是 bug。VSCode 的嵌套只是 UI 层的视觉分组,不改变文件打开行为。双击 index.test.ts 就会像普通文件一样新开标签页,不会自动展开 index.ts 所在的父节点,也不会高亮关联关系。

如果你需要点击测试文件时顺带定位到对应源码,就得另配插件(如 Test Mate)或自定义命令,纯靠 fileNesting 做不到。

  • 嵌套不提供跳转、不绑定语义、不参与搜索过滤
  • 它唯一作用是减少视觉噪音,让文件树更紧凑——仅此而已
  • 别指望靠它替代 Go to Definition 或测试运行器的文件联动
文件嵌套是纯客户端 UI 行为,不写入文件系统,也不影响构建或运行时。配错最多就是看不见效果,但容易卡在“以为配对了其实没生效”的状态里,反复折腾。盯住 enabled 开关、同目录限制、全角字符这三点,基本就能稳住。

相关文章

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

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

下载

相关标签:

vscode

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

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

1975

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2742

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

956

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3079

7

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

3876

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1235

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1578

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

9343

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

860

4

热门下载

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

精品课程

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