I have a setting in Visual Studio Code that says it was "Modified elsewhere," but that modification isn’t in the User or Workspace settings.json
:
How do I find this modification? By that I mean, what are the possibilities? Could it be an extension? Could it be some non-settings.json
configuration file? Could this merely mean another project modifies it in its Workspace settings?
I ran $ ag --hidden --ignore-dir '.git' editor.codeActionsOnSave
in my workspace directory (from a Cygwin terminal), and found zero results. Could the modification go by a different name?
This comment may be more suitable for a VS Code feature request, but I feel like if VS Code knows enough to tell me it’s been modified, it should know enough to tell me where—otherwise, how would it know?
2
Answers
Hover your mouse over the "Modified elsewhere" text and it should tell you where:
A tooltip should show up as indicated in this issue.
Timothy’s answer is good (hover your mouse over the modified indicator and it’ll show you where), but doesn’t address another part of the question:
Configuration has a "target" (API docs)- either global, workspace, or workspace folder (if you’re confused by the multiple workspace things, it’s for when you’re using multi-root workspaces).
Configuration has a "scope" (API docs), which can be a specific resource, or a language, or both, or a text document, or a workspace folder. For the language scope, see the related user docs.
Depends what you mean. Extensions can internally do whatever they want with how they use their own contributed settings (use default values that they don’t specify in their extension manifest, or disregard the value the user sets altogether), but if they write to a setting value through the extension API for settings values (see
WorkspaceConfiguration.update(...)
), VS Code will know.See above. Though also, extensions can have their own types of configuration files that VS Code itself doesn’t know or care about (and if the setting change is done there, then VS Code itself will not know), while still having parallel/related settings that VS Code does know about. Such as the C/C++ extension’s c_cpp_properties.json file, for which defaults can be set via VS Code settings, or tsconfig/jsconfig files, for which some compiler/type-checking options can be defaulted via the
js/ts.implicitProjectConfig.*
settings, etc.If you mean a workspace / workspace folder that is not the currently open one, no. VS Code will not show the modified indicator for that (and thank goodness it doesn’t).