详解在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 相关文章推荐
客户端 使用XML DOM加载json数据的方法
Sep 28 Javascript
jQuery之自动完成组件的深入解析
Jun 19 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
Mar 05 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
Mar 01 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
Aug 03 Javascript
php 解压zip压缩包内容到指定目录的实例
Jan 23 Javascript
让axios发送表单请求形式的键值对post数据的实例
Aug 11 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
简单了解JavaScript arguement原理及作用
May 28 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 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
smarty模板中拼接字符串的方法
2014/02/14 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
php json相关函数用法示例
2017/03/28 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
javascript模拟命名空间
2015/04/17 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
JSON 数据格式详解
2017/09/13 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
Python 多进程原理及实现
2020/12/21 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
钳工实习自我鉴定
2013/09/19 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
班级出游活动计划书
2014/08/15 职场文书
小学生差生评语
2014/12/29 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
酒店宣传语大全
2015/07/13 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python