我安装了prettier plugin for vscode并拥有一个.pretteirrc.js:
module.exports = {
trailingComma: 'es5',
tabWidth: 2,
semi: true,
singleQuote: true,
printWidth: 60,
}
在设置中,默认格式化程序设置为:esbenp.prettier-vscode,并检查了保存时的格式,但保存时未格式化任何格式,并且未给出任何错误提示。
右键单击包含以下内容的js文件:
var test = [1, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 6]
选择格式化文档不会格式化文档,使用...格式化文档也不会... =>更漂亮的代码格式化程序也不会选择打字稿和JavaScript语言功能。
奇怪的是,即使设置没有将打字稿和javascript语言功能作为默认格式设置,该格式也具有默认设置。
我可以在扩展程序中看到更漂亮的插件,并且该插件已启用。
vscode是1.41.0版
重新启动几次,并重新加载vscode窗口。将尝试删除并重新安装vscode,因为保存时自动格式化是我不能没有的功能。
欢迎任何需要检查的建议,该代码没有语法错误(请参见上面的示例代码),因此不应阻止vscode格式化并且不提供任何错误提示。
从项目目录中删除了.vscode目录,现在默认格式化程序更漂亮,但仍未格式化。
答案 0 :(得分:0)
未安装并重新安装vscode,格式化再次起作用。
我的.vscode / settings.json看起来像
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.configPath": "./personal.yml"
}
因此,对于该项目,我使用的是个人格式设置,但是在检入文件之前,我创建了一个.vscode / tasks.json任务,该任务将对所有修改 .js和.json文件进行标准格式化。>
{
"version": "2.0.0",
"tasks": [
{
"label": "Format",
"command": "git status -s | grep '\\.js$\\|\\.json$' | cut -f3 -d' ' | xargs prettier --write --config ./.standard.yml;",
"type": "shell"
}
]
}
在Mac上的Regexp的工作原理有所不同,因此我不得不更漂亮地运行两次:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "format",
"type": "shell",
"command": "git status -s | grep '\\.js$' | cut -f3 -d' ' | xargs prettier --write --config ./.prettierrc.yml && git status -s | grep '\\.json$' | cut -f3 -d' ' | xargs prettier --write --config ./.prettierrc.yml"
}
]
}