我使用 Visual Studio Code 编写 Vue.js 组件,需要重新格式化该组件的代码。
我没有找到任何内置插件,插件的第一选择是vue-buetify
在安装后通知
扩展有很多bug,请不要使用,更好的选择是vetur
然后我通过安装它尝试了 Vetur,但我没有看到美化编辑器中当前代码的选项。Shift++Alt命令F 无效。_
如何真正美化(重新格式化)Vue 组件的代码?
我使用 Visual Studio Code 编写 Vue.js 组件,需要重新格式化该组件的代码。
我没有找到任何内置插件,插件的第一选择是vue-buetify
在安装后通知
扩展有很多bug,请不要使用,更好的选择是vetur
然后我通过安装它尝试了 Vetur,但我没有看到美化编辑器中当前代码的选项。Shift++Alt命令F 无效。_
如何真正美化(重新格式化)Vue 组件的代码?
自从我以前工作的项目有一天停止格式化以来,我一直在摆弄格式化。以下是我认为目前最先进的技术:
使用扩展vetur
和更漂亮(特别是esbenp.prettier-vscode
Prettier - 代码格式化程序)。(您可以通过 Vue.js 扩展包esbenp.prettier-vscode
和其他人预装这些。)
Vetur
是 vue 的(当前)强制默认工具。不接受替代品。
Prettier 本身不支持 .vue 文件,因此默认情况下禁用该文件类型:https ://github.com/prettier/prettier-vscode/issues/338 。
但是 Vetur 了解它的局限性,而是将 .vue 文件各个部分的格式化委托给可能不同的格式化程序。但是,默认情况下,它将 HTML 部分以外的所有内容委托给 Prettier。https://vuejs.github.io/vetur/formatting.html。它禁用 HTML 部分的格式设置。
Vetur 开发人员对 js-beautify-html 表示不满,尽管它显然仍然可以正常工作:https ://vuejs.github.io/vetur/formatting.html 。他们目前没有提出替代建议。
对 HTML 的更漂亮的支持,如果它存在的话,这将是一个显而易见的选择,这是一个漫长而悲伤的故事。目前(2018 年 5 月),更漂亮的 HTML 格式为 JSX。提到了许多微妙之处,但我掌握的一个问题是 JSX 将 begin/empty/end 标签转换为空标签,例如转换为 . 显然 React 和(我相信)Vue 不喜欢这样,因此 vetur 禁用 Prettier for HTML。
因此,我将继续在 vetur 设置中启用 js-beautify-html,希望获得最好的结果并保持警惕。但我是一个肤浅的程序员,我可能永远不会被它的已知问题绊倒。
如果你在 vscode 上安装了 Vetur 扩展,
Vetur › Format › Default Formatter: JS Default formatter for <script> region
pretter-eslint
从下拉菜单中选择。(如果您没有看到该选项,您可以安装pretter
扩展。