详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持


Posted in Javascript onOctober 21, 2017

本文介绍了详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持,分享给大家,具体如下:

一个小遗憾

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持 

能来看这篇文章的想必不用我来介绍vue是什么了。先让我们膜拜大神!vue项目的创建者尤大写了个sublime下语法高亮的插件,有人问他how about webstorm support?他是这么回答的。默哀一分钟。

添加高亮和语法支持

这个我是通过插件来实现的。网上目前有两个插件:

插件1:https://github.com/henjue/vue-for-idea

插件2:https://github.com/postalservice14/vuejs-plugin

我现在用的是插件1。

它能提供一点的语法和代码高亮还有一个文件模板。

就是你在左侧工程栏右键新建的时候会有vue文件了。

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持

然而他的语法支持实在有限,你还是别抱太大希望。。一些cmd+点击的跳转都不能实现。

我还去设置内添加了额外的帮助:

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持 

这是由这个组织维护在github上的一个语法列表,在webstorm上安装了之后会有对应的语法提示。进入设置中的这里,点击右边的download,就会出现这个列表,选择上面的源,一共有两个选项,选择第二个,就出现这个列表了。找到vue,安装就可以了。

但是感觉在.vue文件中作用也不是很大。。。

添加ES6支持

首先,你要设置webstorm自身的JavaScript的版本。如图:

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持 

这里默认是ES5.1,把它改成ES6。

然后打开设置:

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持 

找到这个地方,找到上面的html类型,将*.vue添加进其中。确定的时候会提示被占用了,要把那个清除掉,继续就OK了。
这样系统会把.vue文件看成html,也就能正确识别里面的<script>标签了。

如果你不想这样做,那也可以。还有一种方法。
直接在<script>标签中添加type="text/ecmascript-6",这样也是OK的,里面的代码也会高亮并支持ES6。

支持sass

看过vue-loader文档的知道,在*.vue模板中是支持几种css预处理器和模板语言jade的。
但是当你在<style>标签中加上lang=sass然后写sass时会发现IDE一片报错。。一开始我想到的是webstorm的Language Injections,并照着已有的写了一个:

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持 

然而并不能用。。。

去谷歌了下,发现也有人这么做了,然而也没有成功。。至于为什么也没搞清楚。。倒是知道了jade是模板语言,不能这么做。

但是sass不应该啊。。

然而也不是没有收获。

发现了<style>标签中有rel="stylesheet/scss"type="text/css"时能正确识别sass语言。如:

<style scoped lang="sass" rel="stylesheet/scss" type="text/css">

同理less也可以。但是需要webstorm版本高于2016.1.1

关于jade支持

我还不会jade模板语言。但是在找sass支持的过程中发现有人这么“曲线救国”的支持了jade:

详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持

同时我也发现了vue-idea-plugin插件的作者不靠谱的承诺,戳这里,说会支持jade,但是没有具体的时间。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中获取出错代码所在文件及行数的代码
Sep 23 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 Javascript
使用jQuery插件创建常规模态窗口登陆效果
Aug 23 Javascript
解释&amp;&amp;和||在javascript中的另类用法
Jul 28 Javascript
jQuery+json实现的简易Ajax调用实例
Dec 14 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
Sep 20 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
Nov 30 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 Javascript
Vue filter介绍及其使用详解
Oct 21 #Javascript
详解node nvm进行node多版本管理
Oct 21 #Javascript
JS实现瀑布流布局
Oct 21 #Javascript
js实现Tab选项卡切换效果
Jul 17 #Javascript
js实现鼠标移动到图片产生遮罩效果
Oct 21 #Javascript
js注册时输入合法性验证方法
Oct 21 #Javascript
angular4实现tab栏切换的方法示例
Oct 21 #Javascript
You might like
关于IIS php调用com组件的权限问题
2012/01/11 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
Python列表切片常用操作实例解析
2019/12/16 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
java关于string最常出现的面试题整理
2021/01/18 Python
努比亚手机官网:nubia
2016/10/06 全球购物
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
硕士研究生个人求职信
2013/12/04 职场文书
护士感人事迹
2014/05/01 职场文书
安全技术说明书
2014/05/09 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
2014年学习部工作总结
2014/11/12 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
社区服务活动感想
2015/08/11 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书