【问题标题】:What are ALL configuration files used by Visual Studio Code?Visual Studio Code 使用的所有配置文件是什么?
【发布时间】:2023-03-24 03:48:02
【问题描述】:

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

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

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

echo "dummy" >dummy.abc

然后你在编辑器中打开它,你会得到一个这样的对话框提示:

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

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

那么,VS Code 还使用其他配置文件吗?

【问题讨论】:

    标签: visual-studio-code vscode-settings


    【解决方案1】:

    您有default settingsuser settingsworkspace settingssingle folder settings(旧版)和repository settings

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

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

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

    {
        "settings": {
            "breadcrumbs.enabled": true // Settings here
        }
    }
    

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

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

    I've recorded a video on where settings are applied 包含一个轻微的误解,我希望尽快纠正这个误解,关于我在录制时不知道的单文件夹遗留功能。我希望这会有所帮助:)

    【讨论】:

    • 这是一个美妙而有用的解释,完美地回答了我的问题。感谢您的宝贵时间。
    • 我会建议其他人也观看您的视频?
    • 如果official docs 能包含这个就好了……
    【解决方案2】:

    VS Code 文档提到了location for the settings files

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

    • 视窗%APPDATA%\Code\User\settings.json
    • macOS $HOME/Library/Application Support/Code/User/settings.json
    • Linux $HOME/.config/Code/User/settings.json

    如果您查看Code 文件夹,那里还存储了许多其他文件:

    Code$ tree -L 1
    .
    ├── Backups
    ├── Cache
    ├── CachedData
    ├── CachedExtensions
    ├── Code\ Cache
    ├── Cookies
    ├── Cookies-journal
    ├── GPUCache
    ├── Local\ Storage
    ├── Network\ Persistent\ State
    ├── Preferences
    ├── User
    ├── Workspaces
    ├── blob_storage
    ├── languagepacks.json
    ├── logs
    ├── machineid
    ├── rapid_render.json
    ├── storage.json
    └── webrtc_event_logs
    

    这些包含 VS Code 维护的所有设置/配置(除了工作区中的 .vscode 文件夹)。如果你删除 Code 文件夹,你的 VS Code 就会表现得像新安装的一样。

    尽管它们中的大多数不像 JSON 那样容易读取,并且大多数都存储在 SQL DB 文件 (.vscdb) 中。例如,为了记住带有 .abc 扩展名的文件的“Don't Show Again”提示,它存储在 User/globalStorage/state.vscdb时间>。使用 SQLite 浏览器(如 this)打开该文件,您会看到:

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

    对于特定于工作空间的设置,它们存储在 User/workspaceStorage 中,每个工作空间都被组织成这样的文件夹:

    workspaceStorage$ tree -L 1
    .
    ├── 145974865976a98123d05b3b96dbf2c5
    ├── 20159dfdb7c4cda12efaac5f8e64a954
    ├── 33fd12012abefa2f7f2f0a3f185999cf
    ├── 34a3fbd8b284b6cfb29882db362faa4e
    ├── 44b251d79bd7f8f49c350d022bf7d03d
    ├── 63d838186f19687db224f4f7a27c62ab
    ...
    

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

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

    【讨论】:

      【解决方案3】:

      我的印象是没有其他人能正确回答您的问题...

      据我所知,至少有 3 个不同的配置文件可以快速转移到新的 VSCode 设置以重现您的所有配置:

      1. settings.json
      2. keybindings.json
      3. sn-p.code_sn-ps(如果需要,用户需要先为自己的自定义 sn-ps 创建最后一个;可能还有不止一个)

      在 Windows 上,您可以在以下路径下找到它们: C:\Users\YourUserName\AppData\Roaming\Code\User

      您还可以使用代码 CLI 创建扩展列表。还有一个 CLI 命令来安装你的扩展。 code --help 将在必要时为您提供更多信息。你也可以看看这个帖子:How can you export the Visual Studio Code extension list?

      code --list-extensions > ^
      C:\Users\YourUserName\AppData\Roaming\Code\User\my_extensions.md
      

      请注意,如果您使用远程 SSH,此命令将根据您是在本地 VSCode 还是在远程开发工作区为您提供不同的结果。

      【讨论】:

        【解决方案4】:

        我可以毫无疑问地证明,过度依赖 IDE 菜单系统会导致痛苦和折磨。

        Ubuntu中vscode的全局设置在这里:

        $HOME/.config/Code/User/settings.json
        

        【讨论】:

          猜你喜欢
          • 2019-08-19
          • 1970-01-01
          • 1970-01-01
          • 2015-07-09
          • 1970-01-01
          • 2015-09-02
          • 2018-06-26
          • 2023-01-20
          • 2022-11-02
          相关资源
          最近更新 更多