git - 如何让 VS Code 的 Commit UI 在提交消息中支持 `#`?
问题描述
我需要遵循以#
(ex. #1234 ...
) 开头的 git commit 消息格式。
这不是Start a git commit message with a hashmark (#)的重复,因为我知道commentchar
并且我已经将我配置git
为使用不同的注释字符:
gino@myrepo$ git config --global --get core.commentchar
;
gino@myrepo$ git config --get core.commentchar
;
如果我从命令行提交,我还确认它可以工作:
gino@myrepo$ git log
Author: ...
Date: Wed Nov 13 21:59:40 2019 +0900
# Test `git commit` from terminal
# These 2 lines should not be treated as comments
问题是当我尝试从VS Code 的 Commit UI 提交时:
VS Code 的 Git 似乎不支持#
不是注释的配置,因为当我检查 时git log
,它只显示第二行:
gino@myrepo$ git log
commit 1254416d309588293372b96fd1f71e30af51b1fe (HEAD -> master)
Author: ...
Date: Wed Nov 13 22:23:17 2019 +0900
These lines should be details.
当我尝试使用单行消息 ( #4567: blah
) 时,情况更糟。提交 UI 不允许我提交(当我单击提交按钮时没有任何反应),命令面板> Git:提交命令将简单地中止提交(可能是因为它被视为空提交消息)。
如何让 VS Code 识别自定义commentchar
设置?
笔记:
- 我知道 VS Code 使用我的
git config
(全局或本地),因为当我尝试更改其他设置(例如user.name
)时,它会正确应用它 - 它不是Start a git commit message with hashmark (#)的重复,因为我说的是通过 VS Code 的 Commit UI 提交,而不是通过命令行
- 我找不到与提交消息相关的 VS Code > Git 设置
- 我正在使用 VS Code 1.40.0
解决方案
这显然是1.40.0版本的 VS Code 的回归错误。
(感谢@Bauke向我指出相关的 Github 问题。)
https://github.com/microsoft/vscode/issues/84201#issuecomment-552830865:
#6403的修复使得输入框现在将开头的行
#
视为注释。
然后它作为1.40.1版本的 VS Code 的一部分被“修复”。
(更新 1.40.1:更新解决了这些问题。)
https://github.com/microsoft/vscode/issues/84201#issuecomment-552840563
#
您应该能够提交以任何内容开头并后跟任何内容的单行。您应该能够提交
#
以数字开头的行的消息。以数字开头#
和后面不跟数字的行将被注释掉。例如,以下提交消息:first line second line #third line # fourth line # 5th line #6th line #7 th line #8
应该变成:
first line second line #6th line #7 th line #8
因为所有其他行都应该被注释掉。
我说“已修复”是因为从关于 Github 问题的讨论来看,提交 UI 输入框似乎并不完全遵循或使用 git 的commentchar
配置,并且它对提交消息的哪些部分是评论有自己的解析。
就我而言,由于我的提交消息遵循“单行开头#
并后跟任何内容”的格式,因此它似乎可以工作。但是,如果您使用的是不符合输入框正则表达式规则的不同格式,那么它将无法正常工作。
推荐阅读
- selenium - 无法使用我的本地计算机作为集线器和 microsoft azure VM 作为节点来设置 selenium 网格
- css - Angular2 子组件 [ngclass] 样式延迟应用
- linq - 在 linq 的左连接中进入关键字的目的?
- ios - 多级深度泛型/协议的 Swift 泛型和协议问题
- sql-server - SSMS:通过 2 个 RDP 连接连接到 SQL Server
- javascript - JavaScript append 和 prepend 在 IE 中不起作用
- mysql - AWS RDS 错误代码:2013 查询期间丢失与 MySQL 服务器的连接
- .net - 为经典 asp 创建 .net dll
- javascript - jest mockgoose - jest 在测试运行完成后一秒钟没有退出
- javascript - 错误使用 create-react-app 创建新的 React 应用程序 | 找不到模块 node_modules\react-scripts\package.json