我在 Visual Studio Code 中有一个设置,表示它是“在其他地方修改的”,但该修改不在 User 或 Workspace 中settings.json
:
我如何找到这个修改?我的意思是,有哪些可能性?它可以是一个扩展吗?它可能是一些非settings.json
配置文件吗?这是否仅仅意味着另一个项目在其工作区设置中修改了它?
我$ ag --hidden --ignore-dir '.git' editor.codeActionsOnSave
在我的工作区目录中运行(从 Cygwin 终端),发现零结果。修改可以使用不同的名称吗?
此评论可能更适合 VS Code 功能请求,但我觉得如果 VS Code 知道足够的信息来告诉我它已被修改,它也应该知道足够的信息来告诉我修改的位置 - 否则,它怎么知道?
将鼠标悬停在“在其他地方修改”文本上,它应该告诉您位置:
应按本期所述显示工具提示。
蒂莫西的答案很好(将鼠标悬停在修改后的指示器上,它会告诉你在哪里),但没有解决问题的另一部分:
配置有一个“目标”(API 文档) - 全局、工作区或工作区文件夹(如果您对多个工作区感到困惑,那么它适用于您使用多根工作区时)。
配置有一个“范围”(API 文档),它可以是特定的资源,或语言,或两者,或文本文档,或工作区文件夹。对于语言范围,请参阅相关的用户文档。
取决于你的意思。扩展可以在内部按照自己的方式使用自己提供的设置(使用扩展清单中未指定的默认值,或者完全忽略用户设置的值)执行任何操作,但是如果它们通过用于设置值的扩展 API(请参阅
WorkspaceConfiguration.update(...)
),VS Code 就会知道。往上看。不过,扩展也可以拥有 VS Code 本身不知道或不关心的自己类型的配置文件(如果在那里完成设置更改,那么 VS Code 本身将不知道),同时仍然具有并行/相关设置VS Code确实知道。例如C/C++ 扩展的 c_cpp_properties.json 文件,可以通过 VS Code 设置默认值,或者 tsconfig/jsconfig 文件,可以通过设置默认一些编译器/类型检查选项等
js/ts.implicitProjectConfig.*
。如果您指的是不是当前打开的工作区/工作区文件夹,则不是。VS Code 不会显示修改后的指示器(谢天谢地它不会)。