详解在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 相关文章推荐
采用call方式实现js继承
May 20 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
JavaScript中this详解
Sep 01 Javascript
js初始化验证实例详解
Nov 26 Javascript
基于Bootstrap的网页设计实例
Mar 01 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
Mar 05 Javascript
template.js前端模板引擎使用详解
Oct 10 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
详解js中Array的方法及技巧
Sep 12 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
Vue分页效果与购物车功能
Dec 13 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
PHP 采集获取指定网址的内容
2010/01/05 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python实现数据库编程方法详解
2015/06/09 Python
Python变量和字符串详解
2017/04/29 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
世界上最大的艺术社区:SAA
2020/12/30 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
2014年移动公司工作总结
2014/12/08 职场文书
公司员工离职感言
2015/08/03 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
golang中的空slice案例
2021/04/27 Golang
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
Python实现为PDF去除水印的示例代码
2022/04/03 Python