DEV Community

Cover image for Make VS Code Your Default Git Editor πŸ“

Make VS Code Your Default Git Editor πŸ“

Carl Saunders on February 18, 2020

Recently I've found myself using the git command git commit --amend to change typos in my commit messages. By default the GNU nano text editor is u...
Collapse
 
victorcazanave profile image
Victor Cazanave

Useful and clear article! πŸ‘

Although we can change the last commit message directly in one command (git commit --amend -m "New message"), configuring the git editor is useful for other commands like interactive rebase (git rebase -i).

Moreover I think the --local flag is the default value, so it's not necessary: git config core.editor "code -w".

Collapse
 
flipjorge profile image
Filipe Jorge

Nice addition! I always use -m "Message". But for interacative rebase is a pain to use vim, always need to check a cheatsheet to use it!

Thanks for this article, will set Code as default editor

Collapse
 
tlstechtrekker profile image
Tami Schultz

Thank you for the info Carl - but I'm still stuck. If you or anyone else can help resolve this for me, it would be much appreciated ;-) I'm in the middle of a Git course on Udemy and no answers are coming from the Q & A there, nor am I finding anything with my stack overflow and other forum searches.

I'm getting very similar error messages when trying to either 1) alter my commit message or 2) use rebase to squash commits.

I can alter the commit message only the normal way using the -m "commit message goes here" syntax, but just using the --amend syntax gives me the following error:

Image description

When I tried implementing rebase to squash commits, I got basically the same error only without the additional suggestion on how to solve the problem:

Image description

Is it possible that the .cmd extension is the problem -- is the right file to show the GNU editor being accessed??

Image description

I checked out the bin directory just to see what files were in it - this is what it shows: 2 files - code and code.cmd:

Image description

Here are screenshots of the plain code (no extension) file; I didn't want to try to open the code.cmd file in case it activates something and messes VSC and/or Git up on my machine.

Image description

Image description

When I installed Git, I set it up to use VS Code as the default editor - here are Git installation shots:

Image description

Image description

Image description

I am not comfortable yet with tinkering with software config stuff - I work "blind" in that area of tech knowledge -- so if any kind soul has "Dummies Guide" solution or can point me to one, I'd be very grateful!

Collapse
 
batisteo profile image
Baptiste Darthenay

I just found out the flag --disable-extensions to, well, disable all extensions for this session. This would speed up the launch time of code.

Collapse
 
andygr1n1 profile image
Andrew

thanks, very usefull

Collapse
 
khrome83 profile image
Zane Milakovic

Very cool. I never got the code command to work on my machine. I probably need to manually have it added to my profile or something.

I love this idea though. Nice write up.

Collapse
 
stephanie profile image
Stephanie Handsteiner • Edited

Yup, you have to add it to your path.

You can do that from within VSCode, just search for 'shell' in the command palette and you'll see β€œShell Command: Install code in PATHβ€œ, simply do that and afterwards you may use code in your external shell.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

Isn't Vim the default? I changed it to nano, BTW.

Collapse
 
mateiadrielrafael profile image
Matei Adriel

For me it was nano, idk, now I'm so used to editing it with nano I don't think I'll ever chabge it lol

Collapse
 
baso53 profile image
Sebastijan Grabar

If I was using VS Code as commit message editor, I would even feel like I'm writing a commit message.

Collapse
 
hernandonj profile image
Hernando NJ

Great article! Quick and effective!

Collapse
 
schartun profile image
schartun

Thanks for the useful and clear article, I read about it at The Odin Project, but you gave me more details.

Collapse
 
joshjohanning profile image
Josh Johanning

Is it possible to set this so that if you are in VS Code terminal, it uses VS Code as an editor, otherwise use system default ie VIM?