【Vue】vscode 中 格式化 vue 如何不自动换行

目前格式化的时候经常会自动换行
eg:

return wepy.chooseImage({

count: 1,

sizeType: "original"

}).then(res => res.tempFilePaths[0]);

会被格式化为

return wepy

.chooseImage({

count: 1,

sizeType: "original"

})

.then(res => res.tempFilePaths[0]);

如何才能关掉自动换行的呢?

回答

楼上的配置已经失效。
看看我js的自动格式化

  this.xjLink =

h5 +

'/aaa/bbb/home?token=' +

token +

'';

看的我尴尬癌都犯了,真心受不了,这开发不是哪抽疯了。
真实原因是:默认对JS使用了prettier.
user config 增加以下解决
{

"vetur.format.defaultFormatter.js": "vscode-typescript",

}

// 对属性进行换行。
// - auto: 仅在超出行长度时才对属性进行换行。
// - force: 对除第一个属性外的其他每个属性进行换行。
// - force-aligned: 对除第一个属性外的其他每个属性进行换行,并保持对齐。
// - force-expand-multiline: 对每个属性进行换行。
// - aligned-multiple: 当超出折行长度时,将属性进行垂直对齐。

  "vetur.format.defaultFormatterOptions": {

"js-beautify-html": {

"wrap_attributes": "auto",

}

},

2019/1/2 最新解决办法 (版本1.30.1) :

    "vetur.format.defaultFormatterOptions": {

"js-beautify-html": {

"wrap_attributes": "aligned-multiple"

},

"prettyhtml": {

"printWidth": 100,

"singleQuote": false,

"wrapAttributes": false,

"sortAttributes": false

}

},

"vetur.format.defaultFormatter.html": "js-beautify-html",

即可使得 vue 元素不再折行 ;

关于 "vetur.format.defaultFormatterOptions""vetur.format.defaultFormatter.html" , 在楼上其他大神的答案中已有讲解, 这里就不再啰嗦 ;

默认alt+z 试试

  "vetur.format.defaultFormatter.html": "js-beautify-html",

"vetur.format.defaultFormatterOptions": {

"js-beautify-html": {

"wrap_attributes": "aligned-multiple"

}

},

"vetur.format.defaultFormatter.js": "vscode-typescript",

(vscode配置)[https://blog.csdn.net/win7583...]

这是因为在VSCode1.7.2中替换了内置格式化插件。解决办法是在VScode设置(setting.json)中,配置如下规则

{

"prettier.singleQuote": true,

"prettier.semi": false,

"vetur.format.defaultFormatter.html": "js-beautify-html",

"vetur.format.defaultFormatterOptions": {

"wrap_attributes": "force-aligned"

}

}

即可解决题主问题。详情见 vuejs/vetur#476

其实去看下prettier的设置就好,不需要将vetur.format.defaultFormatter.js改成vscode-typescript

"prettier.singleQuote": true, // 用单引号

"prettier.semi": true, // 句末加分号

"prettier.printWidth": 200, // 换行字符串阈值

"prettier.trailingComma": "none", // 最后一个对象元素加逗号

"prettier.arrowParens": "avoid", // (x) => {} 是否要有小括号

"prettier.proseWrap": "preserve", // 是否要换行

"vetur.format.defaultFormatter.js": "prettier", // vetur 使用 prettier格式化代码

【Vue】vscode 中 格式化 vue 如何不自动换行

有点受不了了,
能不能让他 不管 换行呢。
我把 prettier.printWidth 设置 短了 他就 换行我不想换行的,
我把 prettier.printWidth 设置 长了 他给我来个 一行
受不鸟了。
谁来帮帮我

设置 printWidth: 500 可以

"prettyhtml": {

"printWidth": 500,

"singleQuote": false,

"wrapAttributes": false,

"sortAttributes": true,

"useTabs": true,

"proseWrap": "preserve",

}

"beautify.config": { "brace_style": "none,preserve-inline", "indent_size": 2 }

这样就不换行了,但是感觉格式化的不彻底,有没有人有思路

以上是 【Vue】vscode 中 格式化 vue 如何不自动换行 的全部内容, 来源链接: utcz.com/a/72017.html

回到顶部