VS Code工作区设置修改后未生成.vscode文件夹问题排查咨询
原因分析
工作区类型差异
VS Code的工作区分为两种:一种是直接打开本地文件夹形成的"文件夹工作区",另一种是未关联任何本地文件夹的"空工作区"。如果你创建的是空工作区,修改工作区设置时,配置会被存储在VS Code的全局工作区存储目录中,不会在你当前操作的目录下生成.vscode文件夹。而当你打开存放Python脚本的文件夹(此时它成为工作区的关联文件夹),修改设置时VS Code会自动在该文件夹下生成.vscode/settings.json来保存文件夹级别的配置。设置作用域的区别
VS Code的设置有三个作用域:
- 用户级:对所有工作区生效,配置存在用户目录下的VS Code设置文件中
- 工作区级:对当前整个工作区生效,只有当工作区关联了本地文件夹时,才会在工作区根目录(或对应文件夹)生成配置文件
- 文件夹级:仅对工作区中的某个特定文件夹生效,修改此作用域的设置时,会自动在该文件夹下生成
.vscode/settings.json
你遇到的情况,大概率是在空工作区修改设置时,默认使用了工作区级作用域,但空工作区无关联文件夹,所以没有生成本地配置文件;而修改脚本文件夹时,触发了文件夹级设置的保存,因此自动生成了.vscode文件夹。
排查与解决步骤
确认工作区是否关联本地文件夹
打开VS Code左侧资源管理器,查看顶部是否显示你的Python脚本文件夹名称。如果没有,通过文件 > 添加文件夹到工作区,将脚本所在文件夹加入当前工作区,之后再修改工作区设置,就会在该文件夹下生成.vscode文件夹。检查设置作用域选择
修改设置时,点击设置界面右上角的作用域图标:- 若要让配置对整个工作区生效,选择"工作区"图标(文件夹带括号的样式)
- 若仅对脚本文件夹生效,选择"文件夹"图标(单个文件夹样式)
确保选择的作用域对应你需要保存配置的位置,避免因作用域不匹配导致配置文件未生成。
查看是否隐藏了.vscode文件夹
点击VS Code资源管理器顶部的"查看"选项,勾选"显示隐藏文件",确认.vscode文件夹不是因为被隐藏而无法看到。检查files.exclude配置
打开VS Code设置,搜索files.exclude,查看是否存在**/.vscode的排除规则。如果有,删除该规则,这样资源管理器就能显示.vscode文件夹了。重置工作区配置
如果上述方法无效,通过文件 > 关闭工作区,然后直接打开你的Python脚本文件夹作为新工作区,再尝试修改设置,看是否能正常生成.vscode/settings.json。
内容的提问来源于stack exchange,提问作者Jibril Razak

