You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VSCode中files.autoSave: onFocusChange设置永久生效?

VSCode中files.autoSave配置自动消失,如何永久生效?

我在VSCode的settings.json文件中添加了如下配置:

{
    // ...
    "files.autoSave": "onFocusChange",
    // ...
}

但每月会出现1-2次该配置项自动消失的情况,不得不手动重新添加。


当前环境信息

完整settings.json内容

{
    "workbench.colorTheme": "Default Dark Modern",
    "security.workspace.trust.untrustedFiles": "open",
    "remote.SSH.configFile": "C:\\cygwin64\\home\\hans\\.ssh\\ssh_config.ext",
    "security.workspace.trust.enabled": false,
    "security.allowedUNCHosts": [
        "wsl.localhost"
    ],
    "window.zoomLevel": 1,
    "github.copilot.enable": {
        "*": true,
        "plaintext": true,
        "markdown": false,
        "scminput": false
    },
    "[php]": {
        "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
    },
    "[c]": {
        "editor.defaultFormatter": "ms-vscode.cpptools"
    },
    "editor.largeFileOptimizations": false,
    "window.menuBarVisibility": "compact",
    "files.autoSaveDelay": 1,
    "files.autoSave": "onFocusChange",
    "workbench.settings.applyToAllProfiles": [],
    "chat.agent.enabled": true,
    "mcp": {
        "servers": {
            "mcp-server-time": {
                "command": "python",
                "args": [
                    "-m",
                    "mcp_server_time",
                    "--local-timezone=Europe/Oslo"
                ],
                "env": {}
            }
        }
    }
}

已安装扩展(执行code --list-extensions --show-versions输出)

automatalabs.copilot-mcp@0.0.58
bmewburn.vscode-intelephense-client@1.14.4
docker.docker@0.11.0
eamodio.gitlens@17.2.2
github.copilot@1.338.0
github.copilot-chat@0.28.5
mechatroner.rainbow-csv@3.20.0
ms-azuretools.vscode-containers@2.0.3
ms-azuretools.vscode-docker@2.0.0
ms-python.debugpy@2025.8.0
ms-python.python@2025.8.0
ms-python.vscode-pylance@2025.6.2
ms-vscode.cmake-tools@1.20.53
ms-vscode.cpptools@1.26.3
ms-vscode.cpptools-extension-pack@1.3.1
ms-vscode.cpptools-themes@2.0.0
ms-vscode.hexeditor@1.11.1
ryu1kn.partial-diff@1.4.3
tobias-faller.vt100-syntax-highlighting@1.1.0
twxs.cmake@0.0.17
xdebug.php-debug@1.36.1

VSCode版本信息

Version: 1.101.2 (system setup)
Commit: 2901c5ac6db8a986a5666c3af51ff804d05af0d4
Date: 2025-06-24T20:27:15.391Z
Electron: 35.5.1
ElectronBuildId: 11727614
Chromium: 134.0.6998.205
Node.js: 22.15.1
V8: 13.4.114.21-electron.0
OS: Windows_NT x64 10.0.19045

搜索结果

在~/.vscode-server目录执行grep -rl files.autoSave的输出

extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.fr.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.it.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.es.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.ko.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.pl.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.ru.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.de.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.ja.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.cs.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.tr.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.zh-tw.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.pt-br.json
extensions/ms-vscode.cpptools-1.26.3-linux-x64/package.nls.zh-cn.json
bin/2901c5ac6db8a986a5666c3af51ff804d05af0d4/product.json
bin/2901c5ac6db8a986a5666c3af51ff804d05af0d4/out/nls.messages.json
bin/2901c5ac6db8a986a5666c3af51ff804d05af0d4/out/vs/platform/terminal/node/ptyHostMain.js
bin/2901c5ac6db8a986a5666c3af51ff804d05af0d4/out/vs/workbench/api/node/extensionHostProcess.js
bin/2901c5ac6db8a986a5666c3af51ff804d05af0d4/out/server-main.js
data/CachedProfilesData/__default__profile__/extensions.user.cache
data/User/History/341f20ad/wbmG.json
data/User/History/341f20ad/04Q2.json
data/User/History/341f20ad/uBlM.json
data/User/History/2553a248/ghBj.json
data/User/History/2553a248/DOmj.json
data/User/History/2553a248/0rMH.json
data/User/History/2553a248/yQIS.json
data/User/History/2553a248/T01q.json
data/User/History/2553a248/EAUh.json
data/User/History/2553a248/k0Pn.json
data/User/History/2553a248/YaTQ.json
data/User/History/2553a248/987o.json
data/User/History/2553a248/0llH.json
data/User/History/2553a248/51WG.json
data/User/History/2553a248/tFuq.json
data/User/History/2553a248/rFDq.json
data/User/History/2553a248/iEfF.json
data/User/History/2553a248/Z1fs.json
data/User/History/2553a248/UXKt.json
data/User/History/2553a248/f9Nb.json
data/User/globalStorage/github.copilot-chat/settingEmbeddings.json

在~/.vscode-server目录执行grep -rl toggleAutoSave的输出

data/User/globalStorage/github.copilot-chat/commandEmbeddings.json

补充信息

  • 设置同步已禁用
  • 问题已出现约5-6次

解决方案尝试

1. 锁定配置文件权限

找到settings.json所在位置(Windows系统通常为%APPDATA%\Code\User\settings.json),右键文件→属性→安全→编辑,将当前用户权限设置为只读,阻止程序自动修改配置。需要调整其他配置时,临时取消只读权限即可。

2. 排查扩展干扰

  • 临时禁用所有扩展,观察1-2个月是否还会出现配置消失的情况。若问题消失,逐个启用扩展,定位到触发问题的扩展后卸载或更新。
  • 重点关注Copilot相关扩展(搜索结果显示Copilot Chat的文件涉及toggleAutoSave),可先禁用Copilot Chat进行测试。

3. 用工作区配置覆盖全局配置

在常用工作区的.vscode/settings.json中添加"files.autoSave": "onFocusChange",工作区配置优先级高于全局配置,即使全局配置被修改,工作区配置依然生效。

4. 修复配置文件异常

  • 备份当前settings.json,删除原文件后重启VSCode,让程序自动生成新配置文件,再手动添加files.autoSave项。
  • 清理~/.vscode-server/data/User/History下的配置历史文件,避免历史数据干扰。

5. 调整VSCode版本

当前使用的1.101.2版本尝试升级到最新稳定版,或回退到之前的版本,排查是否为版本bug导致的配置丢失。


内容的提问来源于stack exchange,提问作者hanshenrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:22:01