我对 VSCode 使用 Prettier 扩展。我已经成功建立了一个扩展 ESLint 的基础项目,这样我就可以在保存时自动格式化我的 JavaScript 语法,遵循标准规则。
有没有办法对 Markdown 做同样的事情?我想利用 markdownlint 规则或类似规则,因为 Prettier 强制编号列表为:
<!-- Prettier rules -->
1. This is
1. A numbered
1. List
但我更喜欢像这样手动编号:
<!-- My rules -->
1. This is
2. A manual
3. List
不完全符合您的要求,但您可以通过在项目根目录中创建一个名为
.prettierignore
的文件(在其中写入 *.md
)来停用 Prettier for MarkDown 文件。
有关详细信息,请参阅更漂亮的文档。
Prettier 不强制执行编号列表:
1. first
1. second
1. third
在 Prettier 的游乐场上看到这个:link
它将检测您的第二项是否也是
1.
并像这样格式化列表,否则,它将使用递增数字进行格式化。
无法覆盖 Prettier 的规则,只能更改传递的选项,但对于 markdown,只有
--prose-wrap
选项可用。如果您愿意,您可以自由运行 Prettier,然后运行 markdownlint
来调整您的偏好,就像使用 ESLint 一样。
eslint-plugin-markdownlint
来检查 Markdown 文件。
通过设置覆盖
.md
文件的规则,它将优先于更漂亮的:
// .eslintrc
{
"overrides": [{
"files": ["*.md"],
"parser": "eslint-plugin-markdownlint/parser",
"extends": ["plugin:markdownlint/recommended"]
}]
}
注意:我是这个插件的作者,但这使用 markdownlint 库来检查文件。
您可以使用
"overrides"
功能在每个文件或每个文件类型的基础上覆盖 Prettier 规则:
{
"printWidth": 120,
"tabWidth": 4,
"overrides": [
{
"files": ["*.md"],
"options": {
"tabWidth": 2
}
}
]
}
请注意,这适用于与文件名匹配的模式,而不是与语言匹配的模式。如果您将一个文件嵌入到另一个文件中(例如 HTML 中的 JS),您无法在 Prettier 中单独配置该文件,它将遵循文件的设置。