VS Code中如何为CHANGELOG.md设置差异化markdownlint规则?
当然可以!markdownlint完全支持差异化规则配置
markdownlint对这种场景支持得非常到位,能轻松实现普通Markdown文件用默认规则、CHANGELOG.md单独适配keepachangelog规范的需求。下面是具体的实现步骤:
1. 打开VS Code的设置配置文件
你可以用快捷键Ctrl+,(Windows/Linux)或者Cmd+,(Mac)打开设置界面,然后在搜索框输入markdownlint.config,找到「Edit in settings.json」选项点击进入——这是最直接的配置方式。
2. 编写差异化规则配置
在settings.json里,通过overrides字段为特定文件指定规则,优先级会高于默认规则。示例配置如下:
"markdownlint.config": { // 保留默认规则(不填这行也会用内置默认,写出来更清晰) "default": true, "overrides": [ { // 指定目标文件为CHANGELOG.md "files": "CHANGELOG.md", "rules": { // 禁用和keepachangelog规范冲突的默认规则 "header-increment": false, // keepachangelog的版本标题不是数字递增格式(比如## [1.0.0] - 2024-05-20) "no-trailing-punctuation": false, // 版本标题的日期后可能带有符合规范的标点 "line-length": false, // CHANGELOG的条目或链接经常不需要强制换行 // 配置符合keepachangelog的规则 "heading-style": { "style": "atx" }, // keepachangelog统一使用atx风格标题 "no-duplicate-heading": true // 避免出现重复的版本标题 } } ] }
3. 验证配置效果
保存settings.json后,分别打开普通Markdown文件和CHANGELOG.md,就能看到:普通文件依然遵循markdownlint的默认规则,而CHANGELOG.md会应用你刚才配置的特殊规则。
小提示
如果需要更精细的规则调整,比如不想完全禁用line-length,只是不限制标题和代码块的长度,可以改成:
"line-length": { "code_blocks": false, "headings": false }
你可以根据keepachangelog的具体规范,灵活增减或调整规则参数。
内容的提问来源于stack exchange,提问作者Scott Nelson
相关产品推荐
相关产品推荐

