我最近开始使用Microsoft的开源Visual Studio Code IDE开发Web项目,从Eclipse转移。我发现VSCode非常直观且使用起来非常简单。
但我在VSCode中遗漏的一个功能是IDE无法记住提交消息(或者我没有足够的探索?!)。与Eclipse(填充历史提交消息的下拉列表)不同,我们必须在每次提交更改时在VSCode中手动输入提交消息。
是否有可用于此目的的VSCode扩展名?
我可以在settings.json
中创建任何条目,以便更旧的提交消息
是自动检索?
我们非常感谢任何帮助。
答案 0 :(得分:8)
不需要单独的扩展或类似的东西,Git可以通过提交模板处理这个,VSCode已经支持它们。
例如,假设您有类似unix的并且位于存储库的根目录中:
echo "My fancy commit message" > .mycommitmsg.txt
git config --local commit.template .mycommitmsg.txt
从那里,VSC将自动使用.mycommitmsg.txt的内容。
第二步是使用上次提交的内容填充此消息文件。这可以通过Git钩子来实现,在你的情况下你需要post-commit钩子。
使用以下内容创建/编辑文件.git/hooks/post-commit
:
#!/bin/sh
printf "`git log -1 --pretty=%s`" > .gitmessage.txt
别忘了让它可执行:
chmod +x .git/hooks/post-commit
从那里开始,一切都应该像你描述的那样工作。提交后挂钩将自动用最后一条消息的内容填充消息文件,VSC会在您提交后立即使用新消息。
答案 1 :(得分:3)
VSCode 1.51(2020年10月)确实具有类似功能:
Source Control input box saves commit message history
此地址指向feature request来导航SCM提交历史记录。
按
kb(scm.viewPreviousCommit)
和kb(scm.viewNextCommit)
分别显示上一个和下一个提交。
要直接移至输入框的第一个和最后一个位置,请按 Alt 以及相应的箭头键。以过去的提交消息为基础,并在不丢失草稿消息的情况下回顾历史记录。
答案 2 :(得分:1)
有些扩展可能对某些人来说很有趣:
https://marketplace.visualstudio.com/items?itemName=JanBn.git-last-commit-message
在知道@kwood的答案之前,我已经安装了它,因为它对我有一点帮助,我将其作为第二选择。