VSCode 常见问题
Remote SSH - 卡在 Download VSCode Server
ls ~/.vscode-server/bin会列出安装包的哈希值,形如:
8b3775030ed1a69b13e4f4c628c612102e30a681删除这些已有的安装包:
rm -rf ~/.vscode-server/bin将对应的哈希填入,下载安装:
或者直接在命令行下载:
wget --content-disposition https://update.code.visualstudio.com/commit:8b3775030ed1a69b13e4f4c628c612102e30a681/server-linux-x64/stable拷贝并解压压缩包,重命名为哈希值:
cp vscode-server-linux-x64.tar.gz ~/.vscode-server/bin/
cd ~/.vscode-server/bin/
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 8b3775030ed1a69b13e4f4c628c612102e30a681最后在本地 VSCode 重新运行 Remote SSH: Connect to Host 即可。
vs code连接服务器卡在Downloading VS Code Server - MissSimple - 博客园
Remote SSH - Chrome DevTools MCP 仍然使用本地 Node.js
现象:
- 远程服务器上的 Node.js 已升级,但 VS Code 里
chrome-devtools-mcp仍报错:does not support Node v18.x - MCP 日志里出现:
Starting server from LocalProcess extension host
根因:
- VS Code 里的用户级 MCP 配置默认运行在本地机器。
- 通过 Remote SSH 连接服务器后,只有工作区级
.vscode/mcp.json或远端用户级 MCP 配置,才会运行在远程服务器。 - 所以即使远程服务器已经升级到 Node.js 24,本地 Windows 机器上的旧 Node.js 仍可能被用户级 MCP server 使用。
快速判断:
- 日志中出现
Starting server from LocalProcess extension host,说明当前启动的是本地 MCP server。 - 日志中如果显示的是本地旧版本 Node.js,例如
Node v18.15.0,也说明实际使用的是本地 Node.js,而不是远程服务器上的 Node.js。
推荐做法:改成远端用户级 MCP 配置
如果希望 chrome-devtools-mcp 跑在 Remote SSH 连接的服务器上,优先使用远端用户级配置。
在命令面板中执行:
MCP: Open Remote User Configuration
或者直接编辑远端文件:
~/.vscode-server/data/User/mcp.json内容示例:
{
"servers": {
"chromeDevTools": {
"type": "stdio",
"command": "/home/<user>/.local/bin/node",
"args": [
"/home/<user>/.local/bin/npx",
"-y",
"chrome-devtools-mcp@latest",
"--headless=true",
"--isolated=true",
"--executablePath=/usr/bin/google-chrome-stable"
]
}
}
}说明:
command和args里显式指定远端 Node.js / npx 的路径,避免再次回退到旧版本。--executablePath显式指定远端 Chrome 的路径。--headless=true适合服务器环境。--isolated=true会使用独立 profile,减少和日常浏览 profile 的互相影响。
可选:强制扩展优先跑在远端
在远端设置中添加:
{
"remote.extensionKind": {
"io.github.ChromeDevTools/chrome-devtools-mcp": [
"workspace"
]
}
}Remote SSH 场景下,这个配置通常可以写到:
~/.vscode-server/data/Machine/settings.json远端环境要求
远端服务器至少需要:
- Node.js
>= 20.19 - 可用的 Chrome 浏览器
可以先在远端手动验证:
/home/<user>/.local/bin/node /home/<user>/.local/bin/npx -y chrome-devtools-mcp@latest --headless=true --isolated=true --executablePath=/usr/bin/google-chrome-stable如果启动后不再出现 Node v18.x 之类的报错,说明远端运行链路是正常的。
本地用户级 MCP 配置没有关掉
即使已经配置好了远端 MCP,如果本地用户级配置里原来还有 chrome-devtools-mcp,VS Code 仍可能继续把本地那条 server 启动起来。
处理方法:
- 在本地 VS Code 执行
MCP: Open User Configuration - 删除或禁用本地用户配置里的
chrome-devtools-mcp - 执行
Developer: Reload Window - 执行
MCP: List Servers,确认本地那条 server 已被禁用
如果 reload 之后日志里仍然出现:
Starting server from LocalProcess extension host那就说明本地配置还在生效。
远端 mcp.json 里出现两条 Chrome DevTools server
有时在 Remote SSH 环境里,手动添加了远端用户级 chromeDevTools 配置之后,又通过 MCP Server Gallery 安装过 Chrome DevTools MCP,结果会在远端 mcp.json 里同时出现两条 server:
- 一条是手动写的
chromeDevTools - 一条是自动生成的
io.github.ChromeDevTools/chrome-devtools-mcp
这样在 MCP: List Servers 里就会看到两个 Chrome DevTools 相关条目。
建议:
- 只保留一条明确可控的远端配置
- 优先保留显式指定远端 Node.js 路径的那条
- 删除自动生成、只写了
npx的那条,避免再次走到错误的 Node.js 版本
例如,远端 mcp.json 最终保留成这样即可:
{
"servers": {
"chromeDevTools": {
"type": "stdio",
"command": "/home/<user>/.local/bin/node",
"args": [
"/home/<user>/.local/bin/npx",
"-y",
"chrome-devtools-mcp@latest",
"--headless=true",
"--isolated=true",
"--executablePath=/usr/bin/google-chrome-stable"
]
}
}
}如果你就是想让它跑在本地
那就不要依赖远程服务器上的 Node.js,而是直接升级本地 Windows 机器上的 Node.js 到 >= 20.19,最好升级到 22 或 24。
.yml 被强制缩进 4 个空格
删掉 .vscode/settings.json 中的这行:
"prettier.tabWidth": 4在项目中使用网络代理
在项目根目录创建 .vscode/settings.json:
{
"http.proxy": "http://<proxy-server>:<port>",
"http.proxyStrictSSL": false
}通过命令行启动多个窗口
常用参数:
--new-window:打开新窗口(同路径不会重复打开)--reuse-window:复用已有窗口--folder-uri:打开文件夹--file-uri:打开文件
打开本地文件目录:
code --new-window --folder-uri "file:///E:\********\keys.txt"
code --reuse-window --folder-uri "file:///E:\*****\todos.txt"打开远程文件 :
code --new-window --folder-uri "vscode-remote://ssh-remote+asimov@xeon/home/asimov/repos/blog/"修改 Windows 下的默认终端为 Cmder
在 settings.json 中添加:
{
// "terminal.integrated.inheritEnv": false,
// "terminal.integrated.shellIntegration.enabled": false,
"terminal.integrated.profiles.windows": {
"Cmder": {
"path": "C:\\Windows\\System32\\cmd.exe",
"args": [
"/K",
"D:\\cmder\\vendor\\bin\\vscode_init.cmd"
]
}
},
"chat.tools.terminal.terminalProfile.windows": {
"path": "C:\\Windows\\System32\\cmd.exe",
"args": [
"/K",
"D:\\cmder\\vendor\\bin\\vscode_init.cmd"
]
},
"terminal.integrated.defaultProfile.windows": "Cmder"
}新的系统环境变量无法在 cmd 中生效
关闭所有 VSCode 进程,重新打开即可。