zoukankan      html  css  js  c++  java
  • vscode----配置vue开发环境

    转载:

    https://segmentfault.com/a/1190000014785115

    1.Vetur

    用vue开发的必装
    作用:高亮.vue文件,附带有格式化功能,配合Eslint插件对代码进行格式化检查

    2.Eslint

    如果你想你(团队)的代码风格所有地方看起来都像是同一个人写的
    作用:检查你的js、html、css代码,确保它们符合规范,并且代码风格保持一致性,强制性的规则,你少写一个空格或者多敲一个回车都会被严格的指出来,
    使用:想让插件生效,你的项目还得做一番复杂的配置,好在vue
    -cli生成的项目帮我们把配置都生成好了,
        你也不必修改什么规则,直接用就行,在使用vue-cli生成webpack项目时会询问你是否启用eslint并且使用哪套规范,选择Standard规范就行:

      它会自动在你的项目根目录下生成.eslintignore.eslintrc.js两个配置文件,package.json文件里增加下面的依赖:

     
        "eslint": "^4.15.0",
        "eslint-config-standard": "^10.2.1",
        "eslint-friendly-formatter": "^3.0.0",
        "eslint-loader": "^1.7.1",
        "eslint-plugin-import": "^2.7.0",
        "eslint-plugin-node": "^5.2.0",
        "eslint-plugin-promise": "^3.4.0",
        "eslint-plugin-standard": "^3.0.1",
        "eslint-plugin-vue": "^4.0.0",

    正文

    本文针对的开发工具是vscode, 配合vue-cli创建的项目,告诉你安装什么插件,每个插件的作用,每行配置代码的作用

    一、插件

    网上搜索vscode插件的文章,动辄十几个,其实根本用不了那么多,很多插件的作用还有重叠,电脑性能还被白白浪费。这里精简为主,每一个插件都发挥它最大的作用,并尽量说明它们的作用

    Vetur

    用vue开发的必装,官方推荐,别纠结用哪个,就它了。
    作用:高亮.vue文件,附带有格式化功能,配合Eslint插件对代码进行格式化检查

    Eslint

    如果你想你(团队)的代码风格所有地方看起来都像是同一个人写的,就靠它咯
    作用:检查你的js、html、css代码,确保它们符合规范,并且代码风格保持一致性,强制性的规则,你少写一个空格或者多敲一个回车都会被严格的指出来,强迫症的福音,第一次用它的同学可能会抓狂,熟悉后你会感谢它
    使用:想让插件生效,你的项目还得做一番复杂的配置,好在vue-cli生成的项目帮我们把配置都生成好了,你也不必修改什么规则,直接用就行,在使用vue-cli生成webpack项目时会询问你是否启用eslint并且使用哪套规范,选择Standard规范就行:
    
    它会自动在你的项目根目录下生成.eslintignore和.eslintrc.js两个配置文件,package.json文件里增加下面的依赖:
    
        "eslint": "^4.15.0",
        "eslint-config-standard": "^10.2.1",
        "eslint-friendly-formatter": "^3.0.0",
        "eslint-loader": "^1.7.1",
        "eslint-plugin-import": "^2.7.0",
        "eslint-plugin-node": "^5.2.0",
        "eslint-plugin-promise": "^3.4.0",
        "eslint-plugin-standard": "^3.0.1",
        "eslint-plugin-vue": "^4.0.0",
    ps:对于我这种从前写Java的人来说,刚开始也是无法接受这种tab键2个空格、不加分号的Standard风格,不过一周以后再看原先的Java代码反倒不习惯了

    二、配置

    其实装好上面几个插件你已经可以满足最基本的开发需求了,但现在还没有加任何配置,我们来配置下满足些额外的需求

    1.代码错误实时提示

    少写了一个空格,或者多写了一个分号,都能马上以醒目的波浪线提示出来,鼠标悬浮上去还有错误提示,双击波浪线的代码还会出现一个小灯泡,点击灯泡可以自动帮你修正代码格式:
    
    我们可以找到编辑器左上角,依次打开 文件、 首选项、 设置,将i面配置加入到右边的用户设置中:
    
    "eslint.validate": [
        "javascript",
        "javascriptreact",
         {
             "language": "vue",
             "autoFix": true
         }
    ],

    2.ctrl+s保存时自动修正格式错误的js代码

    在配置里加入下面的json:
    
    "eslint.autoFixOnSave": true,

    3.格式化写的代码

    在vue文件里,按下鼠标右键,在菜单里你会发现有个格式化文件按钮,我们点击它,你会发现,本来图A好好的代码格式化后变成了图B,由于不符合standard的规范,就报错了:
    
    格式化后多帮我们加了分号,还把单引号变成了双引号。
    这是由于vetur插件默认格式化vue文件里面的js代码使用的prettier,和我们的standard规范有冲突,你可以点击这里查看vetur插件格式化的默认配置
    既然知道了原因,我们可以覆盖它的默认配置:
    
    "vetur.format.defaultFormatter.js": "vscode-typescript",
    再试一次格式化,发现问题解决了,不过还是报错:
    
    鼠标悬浮上去提示告诉我们,定义函数时,函数名要与后面的括号有一个空格,所以我们继续加配置解决问题:
    
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
    这次格式化vue文件终于没有报错啦

    别急哈,问题还没完:

    请你仔细的观察下整个vue文件格式化后的样子,有没有发现html模板代码没有被格式化?

    因为vetur插件的默认格式化配置里,是没有为html模板格式的,需要我们手动指定配置:

    "vetur.format.defaultFormatter.html": "prettier",

    4.保存时自动格式化

    每次写完代码自己右键菜单格式化似乎有点麻烦,所以我们可以让它更智能用电,ctrl+s一保存就立马自动格式化:
    
    "editor.formatOnSave": true,

    其他与插件无关的配置

    在vue文件,默认按tab会有4个空格的缩进,我们需要的是2个:
    
    "editor.tabSize": 2,

    小结

    好啦,能满足你基本写代码需求的插件和配置我讲完了,不多,配合vue-cli项目真的很省事,2个插件,几行配置就搞定了,更重要的是,你能知道每个插件、每行配置都干了什么事情,解决了什么问题,而不是装了一堆不知道作用的插件,配置了一堆自己也看不懂的配置。
    这里汇总下上面的配置:

     
      "eslint.validate": [
            "javascript",
            "javascriptreact",
            {
                "language": "vue",
                "autoFix": true
            }
        ],
        "eslint.autoFixOnSave": true,
        "vetur.format.defaultFormatter.html": "prettier",
        "vetur.format.defaultFormatter.js": "vscode-typescript",
        "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
        "editor.formatOnSave": true,
        "editor.tabSize": 2,
  • 相关阅读:
    【BZOJ 4581】【Usaco2016 Open】Field Reduction
    【BZOJ 4582】【Usaco2016 Open】Diamond Collector
    【BZOJ 4580】【Usaco2016 Open】248
    【BZOJ 3754】Tree之最小方差树
    【51Nod 1501】【算法马拉松 19D】石头剪刀布威力加强版
    【51Nod 1622】【算法马拉松 19C】集合对
    【51Nod 1616】【算法马拉松 19B】最小集合
    【51Nod 1674】【算法马拉松 19A】区间的价值 V2
    【BZOJ 2541】【Vijos 1366】【CTSC 2000】冰原探险
    【BZOJ 1065】【Vijos 1826】【NOI 2008】奥运物流
  • 原文地址:https://www.cnblogs.com/SRH151219/p/10391394.html
Copyright © 2011-2022 走看看