在命令行中使用 git 时,我想知道是否可以使用 Visual Studio Code 作为默认编辑器,即在创建提交注释并从命令行查看文件的差异时。
我知道不可能用它来进行合并(至少现在),但有谁知道是否可以用它来查看差异,如果可以,需要哪些命令行选项.gitconfig 文件来实现这一点?
更新 1:
我尝试了一种类似于我过去为 Notepad++所做的方法,即
#!/bin/sh "c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
并使用:
#!/bin/sh "C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"
但这会导致错误消息:
C:\temp\testrepo [master +1 ~0 -0]> git commit [8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler Aborting commit due to empty commit message. C:\temp\testrepo [master +1 ~0 -0]>
代码以预期的内容正确打开,但它不等待响应,即单击保存并关闭窗口以返回提示。
更新 2:
我刚刚收到一位开发 VSCode 的开发人员的回复。看起来目前不支持此功能:-(
https://twitter.com/IsidorN/status/595501573880553472
如果您有兴趣看到添加此功能,您可能需要考虑在此处添加您的投票:
http://visualstudio.uservoice.com/forums/293070-visual-studio- code/suggestions/7756482-support-git-configure-diff-and-merge- tools
更新 3:
我已经得到可靠的消息,VSCode 团队已经采用了这个功能,所以我期待着未来的版本会包含它。
更新 4:
感谢下面的@f-boucheros 评论,我已经能够让 VS Code 作为提交评论、rebase 等的默认编辑器工作。我仍然想看看是否也可以将它用作差异工具。
更新 5:
根据该问题的公认答案,现在可以使用 V1.0 版本的代码。
在最新版本(v1.0,2016 年3 月发布)中,您现在可以使用 VS Code 作为默认的 git commit/diff 工具。从文档中引用:
确保您可以从命令行运行code --help并获得帮助。 如果您没有看到帮助,请按照以下步骤操作: Mac:选择Shell 命令:在命令面板的路径中安装“代码”命令。 命令面板是在 VS Code 中按shift+ ⌘+时弹出的内容。P(shift+ ctrl+P在 Windows 中) Windows:确保在安装过程中选择了添加到 PATH 。 Linux:确保您通过我们新的 .deb 或 .rpm 包安装了 Code。 从命令行,运行git config --global core.editor "code --wait" 现在您可以运行git config --global -e和使用 VS Code 作为编辑器来配置 Git。 添加以下内容以启用对使用 VS Code 作为差异工具的支持:
code --help
git config --global core.editor "code --wait"
现在您可以运行git config --global -e和使用 VS Code 作为编辑器来配置 Git。 添加以下内容以启用对使用 VS Code 作为差异工具的支持:
git config --global -e
[diff] tool = default-difftool [difftool "default-difftool"] cmd = code --wait --diff $LOCAL $REMOTE
这利用了--diff您可以传递给 VS Code 的新选项来并排比较两个文件。 总而言之,以下是一些可以在 VS Code 中使用 Git 的示例: git rebase HEAD~3 -i允许使用 VS Code 进行交互式变基 git commit允许将 VS Code 用于提交消息 git add -p其次是e交互式添加 git difftool <commit>^ <commit>允许使用 VS Code 作为差异编辑器进行更改
这利用了--diff您可以传递给 VS Code 的新选项来并排比较两个文件。
--diff
总而言之,以下是一些可以在 VS Code 中使用 Git 的示例:
git rebase HEAD~3 -i
git commit
git add -p
e
git difftool <commit>^ <commit>