When commiting files using VSCode's Git integration, is there any way of writing a multiline commit message, or am I limited to a single line only?
As of now, VSCode is great at staging files. But it seems I'll still have to write most of my commit messages from the terminal.
Another method of adding a multi-line Git commit message is using quotes with your message, though it depends on your shell's capacity. To do this, add single or double quotes before typing the message, keep pressing enter and writing the next line, and finally close the quote at end of the message.
To change the most recent commit message, use the git commit --amend command. To change older or multiple commit messages, use git rebase -i HEAD~N . Don't amend pushed commits as it may potentially cause a lot of problems to your colleagues.
With the 0.5.0 release we now support multi line commit messages. Just hit the Enter
key to add new lines.
While Benjamin Pasero's answer is definitely viable, do you really want to compose non-trivial commit messages within that bare-bones textbox built into the sidebar? I would rather write my commit messages within a VS Code tab instead, unlocking the editor's full power.
Set VS Code's default terminal to Git Bash (optional and only relevant if using Windows) by putting something like the following in your VS Code settings. Actually, just do it via the GUI instead, as stated in this answer. (Note that you can execute cmd
or powershell
from that terminal and bash
to get back.)
"terminal.integrated.profiles.windows": { "Git Bash": { "source": "Git Bash" } }, "terminal.integrated.defaultProfile.windows": "Git Bash",
Set Git's default editor to VS Code, either by selecting VS Code as the default editor during Git installation or by putting something like the following in your global .gitconfig file. See this question for more detail.
[core] editor = 'C:\\Users\\your user dir\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe' --wait
Set VS Code up for a more enjoyable commit experience via extensions like Rewrap, Code Spell Checker, MetaGo, etc., combined with language-specific settings in the settings.json
file in the executable's folder, e.g.:
"[git-commit]": { "editor.rulers": [72, 50], "editor.wordWrap": "off" }
If the VS Code terminal isn't already visible, hit ctrl+` to bring it up.
Use it to execute git commit -a
or whatever.
A new tab will appear in VS Code, where you can type in your commit message.
When you are done, save and close that tab to complete the commit, or close the tab without saving to abort it. You can hit ctrl+` again to hide the terminal.
Regarding using Rewrap with multiple rulers:
Just press Alt+q multiple times to wrap to each ruler in turn. The ruler chosen is then remembered for that document for the rest of the session. It cycles through the rulers in the order in which they appear in settings; so if you have a most commonly used ruler, you probably want to put that first.
See the documentation for more detail.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With