在命令行使用git时,我想知道是否可以使用Visual Studio Code作为默认编辑器,即在创建提交注释时,以及从命令行查看文件的差异。
我明白用它做合并是不可能的(至少在一分钟之内)但是有没有人知道是否有可能用它来查看差异,如果有的话,需要什么命令行选项.gitconfig文件来实现这一目标?
更新1:
我尝试过类似于我为Notepad++ in the past所做的方法,即
#!/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
如果您有兴趣看到添加此功能,您可能需要考虑在此处添加您的投票:
更新3:
我一直在reliably informed,这个功能已被VSCode团队选中,所以我期待将来的版本将包括它。
更新4:
感谢下面的@ f-boucheros评论,我已经能够让VS Code作为提交注释,rebase等的默认编辑器。我仍然希望看到是否可以将它用作diff工具。
更新5:
根据问题的接受答案,现在可以使用V1.0版本的代码。
在最新版本(2016年3月发布的v1.0)中,您现在可以使用use VS Code as the default git commit/diff tool。引文来自文件:
- 确保您可以从命令行运行
code --help
并获得帮助。 如果您没有看到帮助,请按以下步骤操作: Mac:选择Shell命令:在命令选项板的路径中安装“代码”命令。 命令选项板是在VS代码内按shift +⌘+ P时弹出的。 (Windows中的shift + ctrl + P) Windows:确保在安装期间选择了“添加到PATH”。 Linux:确保通过我们的新.deb或.rpm软件包安装了Code。- 从命令行运行
git config --global core.editor "code --wait"
现在您可以运行
git config --global -e
并使用VS Code作为编辑器来配置Git。 添加以下内容以支持将VS Code用作diff工具:
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
这利用了新的
--diff
选项,您可以将其传递给VS Code以并排比较两个文件。总结一下,这里有一些例子,你可以在哪里使用Git和VS代码:
git rebase HEAD~3 -i
允许使用VS Code进行交互式rebasegit commit
允许使用VS Code作为提交消息git add -p
跟随e
进行互动添加git difftool <commit>^ <commit>
允许使用VS Code作为差异编辑器进行更改
我将Visual Studio代码设置为默认打开.txt文件。接下来我确实使用了简单的命令:git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
。一切都运作良好。
在Windows 10上使用64位内部人员版本命令应该是:
git config --global core.editor“'C:\ Program Files \ Microsoft VS Code Insiders \ bin \ code-insiders.cmd'”
您还可以在'Program Files'目录中将'code-insiders.command'重命名为'code.cmd',这样您就可以使用命令'code'。开始编辑文件。目录
据我所知,VSCode不再在AppData中了。
因此,通过在命令提示符窗口中执行该命令来设置默认的git编辑器:
git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w"
参数-w
,--wait
是在返回之前等待窗口关闭。 Visual Studio代码基于Atom编辑器。如果你还安装了原子,则执行命令atom --help
。您将看到帮助中的最后一个参数是等待。
下次你做一个git rebase -i HEAD~3
时会弹出Visual Studio Code。一旦VSCode关闭,Git将收回领先优势。
注意:我当前的VSCode版本是0.9.2
我希望有所帮助。
您需要使用命令:
git config --global core.editor "'C:\Program Files\Microsoft VS Code\code.exe' -n -w"
确保你可以从Git Bash开始编辑
如果要使用具有短路径的Code.exe,可以通过将以下行添加到.bash_profile来执行此操作:
alias vscode="C:/Program\ Files/Microsoft\ VS\ Code/Code.exe"
而现在,你可以只使用vscode
命令(或任何你命名的命令)来调用它
一些额外的信息:
安装程序会将Visual Studio代码添加到%PATH%,因此您可以在控制台中键入“code”以在该文件夹上打开VS Code。安装后需要重新启动控制台才能使更改为%PATH%环境变量生效。
我打开了我的.gitconfig
并修改了它:
[core]
editor = 'C:/Users/miqid/AppData/Local/Code/app-0.1.0/Code.exe'
这样做对我来说(我在Windows 8上)。
但是,我注意到在我尝试了一个任意的git commit
后,在我的Git Bash控制台中,我看到以下消息:
[9168:0504/160114:INFO:renderer_main.cc(212)] Renderer process started
不确定这可能是什么后果。
GitPad将您当前的文本编辑器设置为Git的默认编辑器。
我在Windows 10中对.txt
文件的默认编辑器是Visual Studio Code,并且运行GitPad曾使它成为Git的默认编辑器。我没有遇到问题中提到的问题(在我的情况下,Git会等到VS Code窗口关闭)。
(.exe
文件的链接对我不起作用,您可能需要自己编译源代码。)
好消息!在撰写本文时,此功能已在0.10.12内部人员版本中实施,并通过0.10.14内部人员执行。因此,我们将在即将推出的版本1.0 Release of VS Code中拥有它。
在Mac终端应用程序中运行此命令
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"
只想在前面的答案中添加这些反斜杠,我在Windows 10 CMD上,并且在空格之前没有反斜杠它不起作用。
git config --global core.editor "C:\\Users\\your_user_name\\AppData\\Local\\Programs\\Microsoft\ VS\ Code\\Code.exe"
我不确定你能做到这一点,但你可以在你的gitconfig文件中尝试这些添加。
尝试从这些值替换kdiff3以指向visual studio代码可执行文件。
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
keepBackup = false
trustExitCode = false