code runner 不能直接部署 js,仅支持本地执行单个文件;真正参与部署的插件包括 ftp-simple、sftp、remote - ssh 等,配合 tasks.json 任务配置实现可靠、可调试的多步部署流程。

VSCode 本身不提供“部署”能力,所谓“快速部署”实际是本地开发流程的延伸——比如一键构建、上传到服务器、触发 CI/CD 或启动服务。真正起作用的是插件组合,而非单个插件宣称能“一键上线”。
Code Runner 能不能直接部署 JS?
不能。Code Runner 只负责在本地执行单个 JS 文件(调用 node filename.js),它不接触网络、不读取配置、不上传文件,也不处理打包逻辑。如果你误以为点了右上角 ▶ 就等于“部署”,那会卡在本地测试环节,根本没走到部署这一步。
- 它适合:练习数组方法、验证函数逻辑、跑小脚本
- 它不适合:启动 Express 服务、构建 Vue/React 项目、同步 dist 到服务器
- 常见错觉:看到控制台输出 “Server running on http://localhost:3000” 就以为已部署——其实只是本地监听,外网无法访问
真正参与部署流程的插件有哪些?
部署是多步骤链路,需要不同插件各司其职:
-
Live Server:只对 HTML+JS 前端静态资源有效,右键“Open with Live Server”启动本地 HTTP 服务,方便浏览器预览,但不涉及远程服务器 -
FTP-Simple或SFTP:提供文件上传能力,需手动配置 host/port/user/password,支持保存后自动同步,适合小型站点或托管在 VPS 上的老项目 -
Remote - SSH:连接远程服务器,在 VSCode 内直接编辑远程文件,配合npm run build和pm2 start等命令实现近似部署流 -
ESLint+Prettier:虽不上传,但在保存时校验+格式化,避免因代码风格或语法错误导致构建失败——这是部署前的必要守门员
为什么推荐用任务(Tasks)而不是插件做部署?
VSCode 内置的 tasks.json 比多数“部署插件”更可靠、更透明、更易调试。例如你想把 dist/ 推到 Nginx 根目录:
{
"version": "2.0.0",
"tasks": [
{
"label": "deploy-to-nginx",
"type": "shell",
"command": "rsync -avz --delete ./dist/ user@server:/var/www/html/",
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false
}
}
]
}
- 所有命令可见、可修改、可加
echo调试 - 不依赖第三方插件更新或兼容性(比如某插件 2026 年停止维护)
- 可与
launch.json联动:先npm run build,再自动 deploy - 容易被 Git 忽略(
.vscode/tasks.json默认不在提交范围内),避免敏感信息泄露
部署不是点一下就完事的动作,而是本地构建、环境校验、传输、服务重启这一串动作的组合。插件只是工具箱里的扳手或螺丝刀,而你得清楚哪一步该用哪一把——否则装再多插件,也只会反复在 Connection refused 或 Permission denied 里打转。











