How to use Visual Studio Code as default editor for git?
When using git at the command line, I am wondering if it is possible to use Visual Studio Code as the default editor, i.e. when creating commit comments and looking at a diff of a file from the command line.
I understand that it won’t be possible to use it for doing merges (at least at the minute) but does anyone know if it is possible to use it for looking at diff’s, and if so, what command line options would be required in the .gitconfig file to make this happen?
I have tried an approach similar to what I have done for Notepad++ in the past, i.e.
#!/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" "$*"
But this results in an error message:
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]>
Code opens up correctly, with the expected content, but it isn’t waiting on the response, i.e. clicking save and closing the window to return to prompt.
I have just heard back from one of the developers working on VSCode. Looks like this functionality currently isn’t supported 🙁
If you are interested in seeing this feature get added, you might want to think about adding your votes here:
I have been reliably informed that this feature has been picked up by the VSCode team, so I am looking forward to a future release that will include it.
Thanks to @f-boucheros comment below, I have been able to get VS Code working as the default editor for commit comments, rebase, etc. I would still like to see if it is possible to use it as the diff tool as well.
As per the accepted answer for the question, this is now possible using the V1.0 release of code.
In the most recent release (v1.0, released in March 2016), you are now able to use VS Code as the default git commit/diff tool. Quoted from the documentations:
Make sure you can run
code --helpfrom the command line and you get
if you do not see help, please follow these steps:
Mac: Select Shell Command: Install ‘Code’ command in path from the Command
- Command Palette is what pops up when you press shift + ⌘ + P while inside VS
Code. (shift + ctrl + P in Windows)
- Windows: Make sure you selected Add to PATH during the
- Linux: Make sure you installed Code via our new .deb or
- From the command line, run
git config --global core.editor "code --wait"
[diff] tool = default-difftool [difftool "default-difftool"] cmd = code --wait --diff $LOCAL $REMOTE
This leverages the new
--diffoption you can pass to VS Code to
compare two files side by side.
To summarize, here are some examples of where you can use Git with VS
git rebase HEAD~3 -iallows to interactive rebase using VS Code
git commitallows to use VS Code for the commit message
git add -pfollowed by
efor interactive add
git difftool <commit>^ <commit>allows to use VS Code as diff editor for changes
Answered By – rexcfnghk