如何通过命令行启动VSCode比较文件差异

大磊君_3785

大磊君_3785

2026-10-10

550人浏览

原创

code --diff 是 vscode 命令行原生双文件对比命令,左侧为基准文件、右侧为变更文件,路径含空格需加英文双引号,仅支持真实磁盘文件且参数顺序不可颠倒。

如何通过命令行启动vscode比较文件差异

用 code --diff 直接比较两个文件

VSCode 命令行工具支持原生的双文件差异对比,不需要插件或额外配置。核心命令是 code --diff,后跟「左侧文件路径」和「右侧文件路径」,顺序不能颠倒——左侧是基准(original),右侧是变更(modified)。

常见错误是路径含空格或特殊字符时未加引号,导致命令只读取到第一个单词就报错:File not found 或 command not found。Windows 用户还需确认是否已将 VSCode 添加到系统 PATH(安装时勾选 “Add to PATH”)。

  • code --diff ./a.txt ./b.txt —— Linux/macOS 下最简用法
  • code --diff "C:\temp\config.old.json" "C:\temp\config.new.json" —— Windows 下必须加英文双引号
  • 如果当前没打开任何窗口,VSCode 会新建一个;如果已有实例,会在该实例中新开一个差异编辑器标签页

对比未保存内容或临时文件时的替代方案

code --diff 只接受磁盘上真实存在的文件路径,无法直接比对剪贴板内容、标准输入或内存中的字符串。遇到这类场景,得先落地为临时文件。

例如想比对当前 shell 中的两段 JSON 输出:

echo '{"name":"alice"}' > /tmp/left.json
echo '{"name":"bob","age":30}' > /tmp/right.json
code --diff /tmp/left.json /tmp/right.json

macOS 用户可用 mktemp 更安全地生成路径;Linux 下可结合 trap 在退出前清理。注意:不要用 /tmp 存敏感配置,临时文件权限默认可能被其他用户读取。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

在 Git 工作流中快速对比暂存区与工作区

Git 用户常需要看某个已修改但未暂存的文件和暂存版本的差异。VSCode 本身不提供 git diff --cached 的快捷入口,但可以组合使用:

  • 用 git show :path/to/file > /tmp/staged 提取暂存区内容(: 是 Git 的“暂存区引用符”)
  • 再执行 code --diff /tmp/staged path/to/file
  • 更省事的方式是:在 VSCode 图形界面里右键文件 → “Open Changes”,但命令行启动时无法触发这个上下文

注意:git show :file 读取的是暂存区快照,不是 HEAD;若想比对 HEAD 和工作区,应改用 git show HEAD:file。

启动后无法聚焦差异视图?检查 VSCode 版本和参数顺序

旧版 VSCode(1.70 之前)对 --diff 的支持不稳定,可能出现只打开空白窗口、或把两个文件以普通编辑器并排打开的情况。升级到最新稳定版即可解决。

另一个高频陷阱是参数顺序写反:

  • code --diff a.js b.js → 正确:a.js 是 base,b.js 是 modified
  • code a.js b.js --diff → 错误:VSCode 把 --diff 当作全局选项而非子命令,忽略它

VSCode CLI 不支持长参数混排,--diff 必须紧接在 code 后,且后面只能跟两个路径参数。多于两个路径会报错:Too many arguments provided. Only two file paths are allowed.

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1275

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2692

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1909

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2587

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

474

5

热门下载

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

精品课程

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