VSCode本身不内置Cloud Shell编辑器,实际是Azure托管的网页版vscode-server;它运行在临时容器中,不支持扩展、调试、自定义设置,文件重启即丢;需用Remote-SSH连自有VM才可真正使用本地VSCode。

VSCode 本身不内置 Cloud Shell 编辑器,你看到的「VSCode + Cloud Shell」组合,实际是 Azure Cloud Shell 提供的基于浏览器的 VS Code Server(即 vscode.dev 的轻量服务端版本),它不是桌面版 VSCode,也不支持安装任意扩展或本地插件。
为什么打开的是网页版,不是本地 VSCode?
当你在 Azure 门户点击「Cloud Shell」→ 选择「Bash」或「PowerShell」→ 点击右上角「Open editor」时,触发的是 Azure 托管的 vscode-server 实例,运行在 Azure 的 Linux 容器中。它和你的本地 code 命令、~/.vscode 配置、已装扩展完全无关。
- 所有文件操作都在 Cloud Shell 的临时存储(
/home/<user></user>)中,重启会丢失,除非挂载了clouddrive - 无法使用
Ctrl+Shift+P调出全部命令(部分命令被禁用,如「Install Extension」) -
settings.json是只读的,修改后刷新即还原;主题、字体等 UI 设置基本不可调 - 不支持调试器(
launch.json无效)、终端复用(每个「Terminal」标签都是独立 Bash 进程)
如何真正用上本地 VSCode 连接 Cloud Shell?
想让桌面版 VSCode 编辑远程 Cloud Shell 文件,必须绕过网页编辑器,改用 Remote - SSH 扩展直连。前提是 Cloud Shell 开放了 SSH 访问 —— 但默认不开放,需手动配置。
- 先在 Cloud Shell 中运行:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" - 将公钥添加到
~/.ssh/authorized_keys(已有则跳过) - 运行
ip addr show eth0 | grep 'inet '查到内网 IP(如10.1.0.4),注意:该 IP 每次会话都变,且仅限 Azure 内网可达 - 因此更可行的方式是:用
az ssh vm或部署一个持久化 Linux VM,再通过Remote - SSH连接它 —— Cloud Shell 本身不适合作为长期 SSH 目标
常见报错:Command 'Open Editor' not found 或空白界面
这是 Cloud Shell 后端服务未就绪或网络策略拦截导致的典型现象,不是你配置错了。
- 刷新页面重试(有时初始化延迟达 10–20 秒)
- 检查浏览器控制台是否有
Failed to fetch /vscode/...请求失败,大概率是 Azure 区域服务暂不可用 - 禁用广告屏蔽插件(如 uBlock Origin),它们常误杀
vscode-web的资源请求 - 换用 Edge 或 Chrome(Firefox 对 WebAssembly 加载偶尔有兼容问题)
- 不要尝试在 URL 后加
?folder=/home/user等参数 —— Cloud Shell 不支持自定义路径参数
真正要稳定编辑云环境文件,别依赖 Cloud Shell 自带编辑器;要么用 code --remote 连接自己部署的 vscode-server,要么直接用 scp + 本地 VSCode,或者切换到 Azure Portal 的「Virtual Machine」页,用「Edit in browser」功能(它调用的是另一套更稳定的 Web 编辑器)。


















