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 重构查找索引

    查找索引是自动维护的,但是你有时候可能会因为你在查找的时候或查看者邮件主题出现了异常,或者你的 Confluence 实例升级到了新的版本,你可能需要手动重构索引. 进行搜索索引重构: 在屏幕的右上角 ...

  2. matlab 测试 数字二次混频

    % test2 clear; clf; close all Fs=800000;%采样频率800k fz=80000;%载波频率80k fz1=3000;%载波频率3k fj=79000;%基波频率7 ...

  3. python(3):文件操作/os库

      文件基本操作 r,以读模式打开,  r+=r+w, w, 写模式(清空原来的内容), w+=w+r, a , 追加模式, a+=a+r, rb, wb, ab, b表示以二进制文件打开 想在一段文 ...

  4. IP的计算

    IP的计算 时间限制: 1 Sec  内存限制: 32 MB 位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192 ...

  5. tinymce-vue富文本编辑器(翻译)

    官方Tinymce Vue组件 翻译来自:https://github.com/tinymce/tinymce-vue 官方文档:https://www.tiny.cloud/docs/general ...

  6. C++ Primer 笔记——顺序容器

    1.标准库中定义了一些顺序容器,所有顺序容器都提供了快速顺序访问元素的能力. 2.如果容器的元素类型没有默认构造函数,那么在构造这个容器的时候不能只指定这个容器的数目,因为没有办法默认构造这些元素. ...

  7. python基础面试题(一)

    1.   简述Python代码的运行机制 1.把原始代码编译成字节码         编译后的字节码是特定于Python的一种表现形式,它不是二进制的机器码,需要进一步编译才能被机器执行. 2.把编译 ...

  8. JavaScript编程语言

    JavaScript编程语言 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应 ...

  9. js/jquery如何获取获取父窗口的元素

    1.$("#父窗口元素ID",window.parent.document); 对应javascript版本为 window.parent.document.getElementB ...

  10. IO流-file

    1.1 IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把 ...