1. 安装Vetur 扩展

主要是用于让vscode能识别vue文件,对vue代码进行高丽处理,并且它内置了一些代码格式化的设置

2. 安装ESLint

如果你的项目已经开启了eslint规范, 再有多余的空格,或者空行,会有红色波浪线提示。

但是光有提示还不够,还希望在ctrl + s保存的时候自动帮我们处理这些小问题。其实那些js规范,大部分人错得多的地方无非就是个空格与空行的问题

文件 -> 首选项 -> 设置

将以下配置填入 worksapce settings

{
"editor.tabSize": 2,
"editor.detectIndentation": false,
"editor.mouseWheelZoom": true,
"editor.wordWrap": "on",
"editor.tabCompletion": "onlySnippets",
"files.associations": {
"*.vue": "vue"
},
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/dist": true
},
"vetur.format.defaultFormatter.js": "vscode-typescript",
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"vetur.format.defaultFormatter.html": "js-beautify-html",
"eslint.validate": [
{
"language": "javascript",
"autoFix": true
},
{
"language": "vue",
"autoFix": true
},
{
"language": "html",
"autoFix": true
},
{
"language": "vue-html",
"autoFix": true
},
{
"language": "javascriptreact",
"autoFix": true
}
],
"eslint.autoFixOnSave": true,
}

我不是一个喜欢装很多插件但是几乎用不上的人,我觉得就这样保证团队内的vue项目代码风格已经足以。

前面的一些配置,一直到

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

是修改的vscode的一些默认配置,主要是缩进换行什么的。如果你想自己了解下这些具体是干嘛的,你可以装一个chinese插件可能会方便你看那些配置注释。从这里一直到

"eslint.validate":

是修改的编辑器右键格式化的一些配置,这只需要配合的vetur插件完成。你可能不适应

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

这种一行一句属性的风格,不过vue官网风格指南推荐的是这样,你也可以试着自己改一下。

关于eslint的部分基本上就是让你保存的时候自动按照你设置的eslint规范去再去调整一下你的代码格式。主要是一些不该加分号的地方你可能习惯性的加了分号,而配置了这些之后,在你保存的时候就会把那些分号,或者每行代码的末尾的空格,每个文件最下面的空行都干掉。

3.利用vscode配置符合官网风格指南的vue代码片段

  • 输入 ctrl + shift + p 打开命令输入 snippet (打开用户代码片段)
  • 再输入vue(选择代码片段的语言)如果搜索不到,安装一个插件 vueHelper
  • 如果搜索到了之后复制粘贴以下代码
{
"Print to console": {
"prefix": "vue",
"body": [
"<template>",
" <div>\n",
" </div>",
"</template>\n",
"<script>",
"import OtherComponent from '@/components/OtherComponent'\n",
"export default {",
" name: 'MyName',",
" components: {",
" OtherComponent",
" },",
" directives: {},",
" filters: {},",
" extends: {},",
" mixins: {},",
" props: {},",
" data () {",
" return {\n",
" }",
" },",
" computed: {},",
" watch: {},",
" beforeCreate () {",
" // 生命周期钩子:组件实例刚被创建,组件属性计算之前,如 data 属性等",
" },",
" created () {",
" // 生命周期钩子:组件实例创建完成,属性已绑定,但 DOM 还未生成,$el 属性还不存在",
" // 初始化渲染页面",
" },",
" beforeMount () {",
" // 生命周期钩子:模板编译/挂载之前",
" },",
" mounted () {",
" // 生命周期钩子:模板编译、挂载之后(此时不保证已在 document 中)",
" },",
" beforeUpate () {",
" // 生命周期钩子:组件更新之前",
" },",
" updated () {",
" // 生命周期钩子:组件更新之后",
" },",
" activated () {",
" // 生命周期钩子:keep-alive 组件激活时调用",
" },",
" deactivated () {",
" // 生命周期钩子:keep-alive 组件停用时调用",
" },",
" beforeDestroy () {",
" // 生命周期钩子:实例销毁前调用",
" },",
" destroyed () {",
" // 生命周期钩子:实例销毁后调用",
" },",
" errorCaptured (err, vm, info) {",
" // 生命周期钩子:当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。",
" console.log(err, vm, info)",
" },",
" methods: {}",
"}",
"</script>\n",
"<style lang=\"scss\" scoped></style>",
"$2"
],
"description": "Log output to console"
}
}
  • 新建.vue文件,输入vue,按tab即可创建vue模板
  • 我这边列的有点多,你可以根据自己的习惯进行删减

参考网站:

vue组件编码规范

vue 开发命名规范

vue官网风格指南

团队协作统一vue代码风格,vscode做vue项目时的一些配置的更多相关文章

  1. 使用ESLint+Prettier来统一前端代码风格

    Prettier 简单使用 ESLint 与 Prettier配合使用 首先肯定是需要安装 prettier ,并且你的项目中已经使用了 ESLint ,有 eslintrc.js 配置文件. npm ...

  2. 做web项目时对代码改动后浏览器端不生效的应对方法(持续更新)

    做web项目时,常常会遇到改动了代码,但浏览器端没有生效,原因是多种多样的,我会依据我遇到的情况逐步更新解决的方法 1.执行的时候採用debug模式,普通情况下使用项目部署button右边那个butt ...

  3. 做web项目时对代码修改后浏览器端不生效的应对方法(持续更新)

    做web项目时,经常会遇到修改了代码,但浏览器端没有生效,原因是多种多样的,我会根据我遇到的情况逐步更新解决办法 1.运行的时候采用debug模式,一般情况下使用项目部署按钮右边那个按钮下的tomca ...

  4. 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:

    小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...

  5. 当Vue可视化工具创建不了项目时的解决办法!

    当Vue可视化工具创建不了项目时的解决办法! 当你尝试用可视化工具创建一个Vue的项目的时候,报错, 出现什么indexOf什么什么的错误! 我的解决办法是把可视化工具删除掉,重新下载! 如果你是 n ...

  6. ESLint + Prettier + husky + lint-staged 规范统一前端代码风格

    写在前面: ESLint: Find and fix problems in your JavaScript code. Prettier: Prettier is an opinionated co ...

  7. nginx做rails项目web服务器缓存配置方法

    nginx作为Web服务器.或反向代理服务器都可以使用缓存 一.作为Web服务器 nginx可以通过 expires 指令来设置响应头的过期时间,实现浏览器缓存(Browser Caching),即浏 ...

  8. 做OJ项目时遇到的坑

    1.js代码写在Dom加载前,导致highcharts在ie8能够显示,而ie高版本和其他浏览器不能显示 我的理解:由于IE8和其他浏览器的js解析机制不同,ie8是在等dom全部加载完才开始执行js ...

  9. vue 使用cli脚手架手动创建项目 相关的选择配置及真正项目的开始

    转载https://www.jianshu.com/p/635bd3ab7383 根据上述连接将基本的环境和命令和装好 使用命令行  vue create 项目名称  出现选项  选择手动(没有截图展 ...

随机推荐

  1. Confluence 6 针对 key "cp_" 或 "cps_" 的 "Duplicate Entry" 问题解决

    如果你遇到了下面的错误信息,例如: com.atlassian.confluence.importexport.ImportExportException: Unable to complete im ...

  2. 基于vue-cli3的vue项目移动端样式适配,lib-flexible和postcss-px2rem

    1,安装 flexible和 postcss-px2rem(命令行安装) npm install lib-flexible --save npm install postcss-px2rem --sa ...

  3. python用unittest+HTMLTestRunner+csv的框架测试并生成测试报告

    直接贴代码: import csv  # 导入scv库,可以读取csv文件from selenium import webdriverimport unittestfrom time import s ...

  4. LeetCode(111):二叉树的最小深度

    Easy! 题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null ...

  5. 前端基础之初识HTML

    一.web服务的本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.b ...

  6. The import util cannot be resolved

    代码: 明显的错误: 应改成 import java.util.*; 没有理解java的基本概念

  7. laravel 路由模型绑定

    我们在使用路由的时候一个很常见的使用场景就是根据资源 ID 查询资源信息: Route::get('task/{id}', function ($id) { $task = \App\Models\T ...

  8. PDF文件编辑技巧之PDF书签怎么设置

    纸质的文件想要添加书签就直接拿笔书写就可以,Word文件怎么添加书签相信大家也都知道,那么PDF文件的书签要怎么设置的呢,是不是有很多小伙伴不知道该怎么做呢,不要担心,今天小编就来跟大家分享一下在PD ...

  9. unity 3D 学习笔记

    1.父对象的初始位置设,即刚开始的空对象的根节点位置应当设置成(0,0,0) 这样设置可以避免以后出现奇怪的坐标. GameObject实际上就是一些组件的容器. unity 使用公用变量原因是,在U ...

  10. uva11754 中国剩余定理+暴力搜索

    是当y的组合数较小时,暴力枚举所有组合,然后用中国剩余定理求每种组合的解,对解进行排序即可 注意初始解可能是负数,所以如果凑不够S个,就对所有解加上M,2M.... 当y的组合数较大时,选择一个k/x ...