详解在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 相关文章推荐
js中的escape及unescape函数的php实现代码
Sep 04 Javascript
JavaScript 三种创建对象的方法
Oct 16 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 Javascript
浅谈react.js中实现tab吸顶效果的问题
Sep 06 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
外语系毕业生自荐信范文
2013/12/16 职场文书
安全生产实施方案
2014/02/23 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
入党政审材料范文
2014/12/24 职场文书
团员个人总结
2015/02/26 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript