VSCode中Markdown Lint不生效,首要确认安装的是DavidAnson.vscode-markdownlint插件;配置文件需置于工作区根目录且为合法JSON;保存时自动修复需配置editor.codeActionsOnSave并确保语言模式为Markdown。
VSCode 里 Markdown Lint 不生效?先确认装的是
插件市场搜 “markdownlint” 会出来一堆名字相似的,比如
(命令行工具封装)或
(v2 版 CLI),它们不直接提供编辑器内实时校验。真正让 VSCode 在编辑时标红、悬停提示问题的,只有官方维护的
—— 作者就是
库的原作者。
安装后默认就启用,但如果你没看到波浪线或错误提示,大概率是插件没装对,或者被其他 Markdown 插件(比如
)的格式化逻辑覆盖了。
打开 Extensions 面板(
),搜
,认准发布者是
,ID 是
卸载所有带
或
字样的插件,避免冲突
重启 VSCode,打开一个
文件,输入
后多加一个空格(如
),看是否立刻标黄提示
类错误
为什么改了
还不生效?路径和加载顺序很关键
VSCode 的
插件默认只读当前工作区根目录下的
(或
),不会向上递归查找父目录配置。如果你把配置文件放在项目子文件夹里,它根本看不到。
另外,插件优先级高于用户全局设置:即使你在
里写了
,只要项目根目录存在本地配置文件,就会被忽略。
确保
在你用
打开的文件夹根目录下
配置内容必须是合法 JSON,常见错误是末尾多逗号、单引号代替双引号、或用了注释(JSON 不支持)
想临时禁用某条规则?在文件顶部加注释
,比改配置更灵活
规则名大小写敏感:
有效,
无效
报错太多?别急着关,先看它到底在检查什么
默认限制每行最多 80 字符,但它只检查“纯文本行”,不包括代码块、HTML 标签、链接引用定义等。很多人误以为它在强制“软换行”,其实不是 —— 它针对的是段落文字的可读性,尤其影响生成 PDF 或打印时的排版。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
如果你用 Obsidian、Typora 或 GitHub 预览,它们根本不解析这规则;但如果你走 CI 流程(比如用
检查 PR),这个规则就很重要。
放宽限制:在
中设
完全跳过某些区域:用
包住长表格或命令行输出
注意:VSCode 插件不会自动帮你换行,它只报错;要自动修复得配保存时格式化(见下一条)
保存时自动修复部分规则?得靠
+ 正确触发条件
VSCode 的
插件本身不提供“自动修复”功能,但支持通过
调用它的快速修复(Quick Fix)能力 —— 前提是规则本身支持修复(比如
列表缩进、
禁止 HTML 标签)。
不是所有规则都能修,比如
(重复标题)或
(首行必须是标题)就没法自动判断怎么改,只能人工处理。
在工作区
里加:
仅对已打开且语法正确的
文件生效;如果文件有严重解析错误(比如未闭合的代码块),修复会静默失败
保存时若弹出“正在运行代码操作”,说明触发了;没反应?检查右下角状态栏有没有显示
正在运行
最常被忽略的一点:VSCode 的文件关联必须正确。如果右下角显示语言模式是
而不是
,插件压根不会启动 —— 点击那里手动切过去,或者在
加
。
DavidAnson.vscode-markdownlintmarkdownlint-commandmarkdownlint-cli2DavidAnson.vscode-markdownlintmarkdownlintesbenp.prettier-vscodeCtrl+Shift+XmarkdownlintDavid AnsonDavidAnson.vscode-markdownlintmarkdownlint-climarkdownlint-command.md## 标题## 标题MD024/no-duplicate-heading.markdownlint.jsonvscode-markdownlint.markdownlint.json.markdownlint.yamlsettings.json"markdownlint.config".markdownlint.jsonFile > Open FolderMD013md013MD013/line-lengthMD013markdownlint-cli.markdownlint.json"MD013": { "lineLength": 120 }editor.codeActionsOnSavevscode-markdownlinteditor.codeActionsOnSaveMD007MD033MD024MD041settings.json"editor.codeActionsOnSave": {
"source.fixAll.markdownlint": true
}.mdmarkdownlintPlain TextMarkdownsettings.json"files.associations": { "*.md": "markdown" }