VSCode Remote SSH 远程 Linux 无法连接,remotePlatform 只读无法编辑的解决方法(重点:%APPDATA%\Code\User)
在 Windows 下使用 VSCode 通过 Remote-SSH 连接 Linux 时,经常会遇到这样一个提示:
cpp
You selected "linux" as the remote platform - this will be stored in the setting "remote.SSH.remotePlatform"
但当你尝试在 VSCode 中设置 remote.SSH.remotePlatform 时,却发现:
settings.json 是 只读
无法编辑
找不到正确的设置文件
本文将提供一个100% 可行的解决方法,特别强调 正确的 settings.json 真正存放位置:
👉 %APPDATA%\Code\User
🔥 一、为什么 settings.json 会只读?
很多人打开 settings.json 的方式是:
点击右下角报错
或打开的是 默认设置(只读)
或打开的是 远程 Linux 上的设置文件(无权限)
所以文件显示只读是因为你打开的不是本地用户设置。
🔥 二、VSCode 正确可编辑的 settings.json 路径(重点)
Windows 本地用户的 VSCode 设置文件实际存放在:
✔ 路径:
%APPDATA%\Code\User
✔ 包含文件:
settings.json
keybindings.json
snippets/
这才是你可以自由编辑、VSCode 真正读取的 settings.json。
🔧 三、如何快速打开正确的 settings.json?
方法一:直接打开目录(最推荐)
Win + R
输入:
%APPDATA%\Code\User
回车
双击打开 settings.json
这个文件一定不是只读,可以直接编辑。
方法二:VSCode 内打开(需选对命令)
按:
Ctrl + Shift + P
输入:
Preferences: Open User Settings (JSON)
回车
⚠ 一定要是 User Settings
⚠ 不能是 Default Settings(只读)
⚠ 不能是 Remote Settings(可能没权限)
🔧 四、添加 remote.SSH.remotePlatform(关键步骤)
假设你的 SSH 配置如下:
Host mylinux
HostName 192.168.1.8
User root
那么在 settings.json 中加入:
cpp
"remote.SSH.remotePlatform": {
"mylinux": "linux"
}
完整示例:
cpp
{
"C_Cpp.intelliSenseEngine": "disabled",
"workbench.editorAssociations": {
"*.json": "default"
},
"remote.SSH.remotePlatform": {
"mylinux": "linux"
}
}
注意两点:
JSON 最后一个字段前不要多逗号
Host 名必须和 SSH config 里的 Host 一致
🌟 五、避免 VSCode 打开"远程"settings.json
如果你看到 VSCode 左下角显示:
SSH: your-linux-host
说明你正在编辑远程 Linux 的 settings.json,可能无权限写。
解决:
左下角点击 → Close Remote Connection
回到本地 VSCode 再打开 settings.json
🎯 六、总结
问题 原因 正确解决方式
settings.json 显示只读 打开了默认设置或远程设置 打开 %APPDATA%\Code\User\settings.json
remote.SSH.remotePlatform 无法设置 路径不对 必须写到本地用户的 settings.json
VSCode SSH 连不上 平台识别错误 设置 "yourhost": "linux"
✅ 关键路径再次强调:
👉 %APPDATA%\Code\User
这个目录里的 settings.json 才是决定 VSCode 行为的唯一可信文件。