code --diff file1.txt file2.txt
我认为这与 git diff
功能是独立的。
如果你只需要在VSCode中快速查看单个文件的差异,而不需要进一步的集成导航和编辑体验,你可以像其他答案所解释的那样配置和使用git difftool
,或者更安全(且全局适用)地进行如下操作:
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
git config --global diff.tool vscode # optionally as default
要在VSCode中获得完全集成的自定义差异体验,请按照以下步骤操作:
# possibly commit or stash a dirty work tree before switching
git switch origin/master --detach # new master in worktree
git reset master # old master as detached HEAD (diff base)
git reset origin/master # base for added changes only
# review the bare added delta again (in VSCode)
git add/commit ...
git branch/tag my_master_fixup # name it
~/.gitconfig
,并添加以下行:[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
在一些答案中,下一个建议步骤是执行git difftool <local_branch> origin/<remote_branch>
。
然而,还有另一种可能性:
git fetch origin <remote_branch>
git difftool FETCH_HEAD
git config --global difftool.prompt false
来自v1.48发布说明:
当您浏览源代码控制视图时,按下空格键会将更改打开为预览编辑器,并将焦点保留在源代码控制视图中,以便更轻松地使用键盘进行导航。
因此,您可以通过向下箭头遍历您的scm文件更改,并按下空格键打开差异视图.. 焦点仍然停留在SCM视图中,因此您可以继续这样做。