0

0

VSCode命令行启动_使用命令行参数启动VSCode

夜晨

夜晨

发布时间:2026-01-12 22:40:39

|

701人浏览过

|

来源于php中文网

原创

code命令路径参数须为绝对路径或当前目录下相对路径,tilde路径不被解析,--wait需配合--new确保阻塞,-r复用窗口但多根工作区易混淆,调试参数可通过process.argv或argv.json查看。

vscode命令行启动_使用命令行参数启动vscode

code 命令启动 VSCode 时,路径参数必须是绝对路径或当前工作目录下的相对路径

VSCode 安装后会把 code 命令注册到系统 PATH(macOS/Linux 需手动运行 Shell Command: Install 'code' command in PATH),但很多人执行 code ./src 却打开空白窗口或报错,本质是当前 shell 的工作目录没对准。VSCode 不会自动解析类似 ~/project 这样的 tilde 路径,也不会帮你 cd 到项目根目录。

  • ✅ 正确做法:先 cd /full/path/to/project,再运行 code .
  • ❌ 错误写法:code ~/my-project(bash/zsh 下 tilde 不会被 code 解析)
  • ⚠️ 注意:Windows PowerShell 中 code .\src 可行,但 CMD 下推荐用正斜杠或绝对路径,避免反斜杠转义问题

code --wait 在脚本中阻塞执行,但只对首次调用生效

当你在 Shell 脚本或 Git hook 中用 code --wait 编辑文件并等待保存关闭后再继续,它确实会暂停脚本执行——但前提是 VSCode 实例尚未运行。如果后台已有 Code 进程,--wait 会立刻返回,不等你编辑完。

  • ✅ 确保阻塞行为:加 --new 参数强制新开实例,例如 code --new --wait file.txt
  • ❌ 不加 --new 时,若已有窗口,--wait 形同虚设
  • ? 补充:配合 --diff--wait 依然有效,适合写 pre-commit diff 工具

code -r 复用已有窗口,但多根工作区下行为有歧义

-r--reuse-window)让新命令复用最近激活的窗口,而不是总开新窗。这在日常开发中省事,但在打开不同工作区(尤其是含多个文件夹的 .code-workspace)时容易串项目。

FastGPT
FastGPT

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统

下载
  • ✅ 明确指定目标窗口:用 code -r --folder-uri file:///full/path/to/folder
  • ❌ 直接 code -r ./other-project 可能仍聚焦旧窗口,且不切换工作区
  • ⚠️ 兼容性注意:Windows 上 file:// URI 必须双斜杠 + 盘符大写,如 file://C:/project;Linux/macOS 用 file:///home/user/project

调试启动参数:如何查看 VSCode 实际接收了哪些命令行参数

VSCode 启动后不会直接暴露传入的原始参数,但可通过开发者工具快速验证。尤其当配置了自定义 argv.json 或遇到插件读取参数失败时,这是最直接的排查方式。

  • ✅ 打开 DevTools:菜单 Help → Toggle Developer Tools,然后在 Console 输入 process.argv
  • ✅ 查看 argv.json:VSCode 启动时会读取 $HOME/.vscode/argv.json(macOS/Linux)或 %APPDATA%\Code\argv.json(Windows),里面记录了持久化参数
  • ⚠️ 注意:argv.json 中的 enable-crash-reporterdisable-extensions 会覆盖命令行参数,优先级更高
process.argv
// 输出示例(简化):
[
  "/Applications/Visual Studio Code.app/Contents/MacOS/Electron",
  "--skip-getting-started",
  "--folder-uri",
  "file:///Users/me/project",
  "--goto",
  "src/index.ts:42"
]
命令行参数的组合逻辑并不线性,尤其在复用窗口、多工作区、远程开发(code --remote ssh-remote+host)场景下,实际行为常取决于已有进程状态而非单条命令本身。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

410

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

console接口是干嘛的
console接口是干嘛的

console接口是一种用于在计算机命令行或浏览器开发工具中输出信息的工具,提供了一种简单的方式来记录和查看应用程序的输出结果和调试信息。本专题为大家提供console接口相关的各种文章、以及下载和课程。

411

2023.08.08

console.log是什么
console.log是什么

console.log 是 javascript 函数,用于在浏览器控制台中输出信息,便于调试和故障排除。想了解更多console.log的相关内容,可以阅读本专题下面的文章。

487

2024.05.29

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

637

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

526

2023.07.06

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

10

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号