Visual Studio Code 使用的所有配置文件是什么?

gss*_*der 8 visual-studio-code vscode-settings

据我所知,VS Code以格式处理用户工作区配置JSON。它.vscode工作目录(必要时)和用户主目录中创建另一个文件夹(例如用于存储市场扩展)。

我想知道是否还有其他地方。

例如,如果您在不使用“新建文件”按钮的情况下创建文件,例如从终端:

echo "dummy" >dummy.abc
Run Code Online (Sandbox Code Playgroud)

然后你在编辑器中打开它,你会被提示一个对话框,如下所示:

VS Code 市场对话框

如果你点击Don't Show Again...并在同一个目录或另一个目录中重复相同的实验,VS Code 会记住它(它不会第二次显示对话框)。

我知道这不是什么重要的事情...但我想知道它存储在哪里。

那么,VS Code 是否还有其他配置文件?

Gin*_*pin 31

VS Code 文档提到了设置文件的位置

\n
\n

根据您的平台,用户设置文件位于此处:

\n
    \n
  • 视窗%APPDATA%\\Code\\User\\settings.json
  • \n
  • 苹果系统$HOME/Library/Application Support/Code/User/settings.json
  • \n
  • Linux$HOME/.config/Code/User/settings.json
  • \n
\n
\n

如果你看一下Code文件夹,会发现其中存储了许多其他文件:

\n
Code$ tree -L 1\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Backups\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cache\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CachedData\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CachedExtensions\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Code\\ Cache\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cookies\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cookies-journal\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 GPUCache\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Local\\ Storage\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Network\\ Persistent\\ State\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Preferences\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 User\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Workspaces\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 blob_storage\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 languagepacks.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 logs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 machineid\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 rapid_render.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 storage.json\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 webrtc_event_logs\n
Run Code Online (Sandbox Code Playgroud)\n

它们包含 VS Code 维护的所有设置/配置(工作区中的.vscode文件夹除外)。如果删除代码文件夹,您的 VS Code 将表现得像新安装的一样。

\n

不过,它们中的大多数不像 JSON 那样易于读取,并且大多数都存储在 SQL DB 文件 ( .vscdb ) 中。例如,为了记住扩展名为.abc 的文件的“不要再次显示”提示,它存储在User/globalStorage/state.vscdb中。使用 SQLite 浏览器(像这样)打开该文件,您将看到以下内容:

\n

在此输入图像描述

\n

...它存储设置,不再提示我输入.csv.abc文件。(尝试从 DB 值中删除“abc”,VS Code 将再次提示您。)

\n

对于特定于工作区的设置,它们存储在User/workspaceStorage中,其中每个工作区都组织到如下文件夹中:

\n
workspaceStorage$ tree -L 1\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 145974865976a98123d05b3b96dbf2c5\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 20159dfdb7c4cda12efaac5f8e64a954\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 33fd12012abefa2f7f2f0a3f185999cf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 34a3fbd8b284b6cfb29882db362faa4e\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 44b251d79bd7f8f49c350d022bf7d03d\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 63d838186f19687db224f4f7a27c62ab\n...\n
Run Code Online (Sandbox Code Playgroud)\n

进入任一工作区,检查workspace.json以了解数据库文件适用于哪个工作区。然后再次打开state.vscdb可以看到类似这样的内容:

\n

在此输入图像描述

\n

...显示用于记住打开的文件等的设置。

\n


And*_*sal 11

你有default settings, user settings, workspace settings, single folder settings(legacy) 和repository settings

您可以defaultSettings.json通过在命令面板(Windows/Linux 中的Shift+ Cmd+PShift+ Ctrl+)P中键入“默认设置”来访问您的设置。

您可以按Cmd+,(或Ctrl+,在 Windows/Linux 中)访问您的用户 settings.json 文件。

工作区设置.code-workspace位于“设置”键中的文件中,如下所示:

{
    "settings": {
        "breadcrumbs.enabled": true // Settings here
    }
}
Run Code Online (Sandbox Code Playgroud)

单文件夹设置进入/.vscode/settings.json文件。单文件夹状态是一个遗留功能。当处于单文件夹状态时,您可以在 /.vscode/settings.json 文件中插入存储库范围和工作区范围的设置,但如果将其转换为工作区,则工作区设置将停止工作。这可能会令人困惑,因为如果您在文件资源管理器中选择“ Remove folder from Workspace”或“ Add folder to workspace”选项,VS Code 会创建一个隐式/未保存的工作区。 在此处输入图片说明

存储库设置进入/.vscode/settings.json文件。

我录制了一个关于应用设置的视频,其中包含一个轻微的误解,我希望尽快纠正,围绕着我在录制时不知道的单文件夹遗留功能。我希望这有帮助 :)

  • 这是一个精彩而有用的解释,完美地回答了我的问题。感谢您的时间。 (2认同)