当在命令行使用git时,我想知道是否可以使用Visual Studio Code作为默认编辑器,即当创建提交注释并从命令行查看文件的差异时。

我知道不可能使用它来做合并(至少在一分钟),但有人知道是否有可能使用它来查看diff,如果是这样,在.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等。我仍然想看看是否有可能将它用作diff工具。

更新5:

根据这个问题的公认答案,现在可以使用V1.0版本的代码实现这一点。


当前回答

我添加了一个答案,因为其他所有的答案都不够简洁,不适合我的具体情况。我用的是装有M1芯片的MacBook Air 2021

在VS Code中创建默认的git编辑器:

步骤1

执行命令git config——global core。在命令行中编辑“代码—等待”。

步骤2

如果你在这个阶段尝试提交,你可能会得到一个类似这样的错误:

提示:等待编辑器关闭文件…Code -w: Code:命令不存在 错误:编辑器“code -w”有问题。

这意味着你没有在VS code中安装shell命令“code”。使用(command + shift + p)在VS Code中打开命令中心。搜索“code”,选择“Shell Command: Install ' code ' Command in PATH”。这将在路径中添加“代码”。

步骤3

在尝试安装“code”时,你可能会得到一个类似这样的错误:

EACCES:权限被拒绝,断开“/usr/local/bin/code”的链接。

我不知道是什么原因,但一个简单的卸载和重新安装解决它。要卸载,在VS Code命令中心搜索“uninstall”,然后选择“Shell command: uninstall ' Code ' command in PATH”。

步骤4

运行命令git config——global -e来测试新的默认编辑器是什么。你的配置文件应该在vscode文本编辑器中打开

来源:

https://levelup.gitconnected.com/how-to-configure-git-to-use-vs-code-as-the-default-text-editor-ea3670ab525a

VS Code Denied Permission解除usr/local/bin/ Code链接

其他回答

在Windows 10上使用64位内部版本的命令应该是:

Git配置——全局核心。C:\Program Files\Microsoft VS Code 业内人士\ bin \ code-insiders.cmd’”

您还可以重命名“代码内部人员”。Cmd ' to '代码。在“Program Files”目录下执行cmd, 通过这种方式,您现在可以使用'code .'命令开始编辑文件。目录

GitPad将当前文本编辑器设置为Git的默认编辑器。

我在Windows 10中。txt文件的默认编辑器是Visual Studio Code,运行GitPad曾经使它成为Git的默认编辑器。我没有遇到过问题中提到的问题(在我的情况下,Git会等到VS Code窗口关闭)。

(.exe文件的链接对我不起作用,你可能需要自己编译源代码。)

在.gitconfig文件中需要哪些命令行选项才能实现这一点?

为了让git-lens工作,我必须把这个添加到我的.gitconfig文件中:


[core]
    # Make sure that interactive rebases open correctly with vs code
    editor = code -w -n

-n是可选的-正如Alex下面提到的,它是——new-window的缩写,我发现它很有用:)

据我所知,VSCode已经不在AppData中了。

因此,通过在命令提示符窗口中执行该命令来设置默认的git编辑器:

git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w"

参数-w,——wait用于等待窗口关闭后再返回。Visual Studio Code是基于Atom Editor的。如果还安装了atom,则执行命令atom——help。您将看到help中的最后一个参数是wait。

下次你做git rebase -i HEAD~3时,它会弹出Visual Studio Code。一旦VSCode关闭,Git将夺回领先地位。

注意:我目前的VSCode版本是0.9.2

我希望这对你有所帮助。

只是想将这些反斜杠添加到之前的答案,我在Windows 10 CMD上,空格前没有反斜杠它就不能工作。

git config --global core.editor "C:\\Users\\your_user_name\\AppData\\Local\\Programs\\Microsoft\ VS\ Code\\Code.exe"