前言:

Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,

大大提高了HTML/CSS代码编写的速度,比如下面的演示:

但是对于我们来说这远远不够,我还想写css js呢,有些编辑器会提供一部分快捷功能,但是对于一些我自己常用的,编辑器没有的,我想自己定义,那怎么办呢,

下边的这篇教程对你来说,肯定大有帮助:kissing_closed_eyes:

简介:

webStrom IDEA , live template example etc

webStrom的实时代码模板。

软件开发时,你经常要输入重复性的繁琐的代码,比如 样式文件各种按钮,弹窗等.

有没有更加快捷的方式,让我们输入这些代码呢?

##有! :relaxed:

在笔者的css文件中,只需要输入 btn,再按tab键,或者鼠标左键点击不同选项就能输出一段不用的css代码.

这段代码代表一个无图圆角的按钮.
按钮大小,颜色自己更改,不用打出那么多的样式名字了.
还比如在JS代码书写中,笔者用foreach方法很频繁,每次敲打一遍都很蓝瘦.

是不是看起来很爽,很方便,接下来我会详细讲解怎么配置自己的live templates,并且导入别人已经编辑好的,或者导出自己配置好的文件.

如何编辑
打开File | Settings | Editor | Live Templates
1的意思是在当前组里添加新的语法.
2的意思是新建语法组.
上边这张图片的每一项就代表一个分组.组下的每一项就代表一个语法.
我们来编辑一个语法测试一下.

 如果我们编辑成如图这样的格式,当我们点击应用以后,发现在JS文件中输出test怎么都打不出这个语法.原因在这里,往下看

一定要点击语法框下方的define按钮,在选择相对应的语法,要不然语法是永远不会生效的,本人开始就犯了多次这个错误.

:laughing::laughing::laughing:

保存应用后再去尝试,发现很好用吧.
这样对我们来说还远远不够,我们还要加上配置项.点击右侧edit variables
expression配置详解放到最下方:有兴趣的可以尝试尝试,本人经验就是不用尝试太多,配置那么多其实没什么大用处.
default value 配置默认值可以直接填写,注意一定要加双引号如"item".要不然就不生效了.
skip if defined 这个配置勾选了之后会光标会默认跳过这个变量定义处.
注:还有4个变量不能使用,功能如下:

  1.$VAR$ 可以定义一个变量

  2.$ARRAY$ 可输入一个数组

  3.$PARAM$ 可变长度参数

  4.$END$ 光标结束符号
导出配置:

如果你已经定义好了你的配置可以导出一份配置文件

导入

第三方JS配置快捷包导入下载地址https://github.com/blakedietz/js-live-template 配详细使用注解

更多详细信息可以查看官网https://www.jetbrains.com/help/webstorm/template-variables.html

expression配置

  1. 项目
    描述
    blockCommentEnd
    返回指示当前语言上下文中块注释结束的字符。
    blockCommentStart
    返回指示当前语言上下文中块注释开始的字符。
    camelCase(String)
    将字符串转换为camelCase。例如camelCase(my-text-file),camelCase(my text file)和camelCase(my_text_file)所有的回报myTextFile。
    capitalize(String)
    大写参数的第一个字母。
    capitalizeAndUnderscore(sCamelCaseName)
    将作为参数传递的CamelCase名称的所有字母大写,并在各部分之间插入下划线。例如,capitalizeAndUnderscore(FooBar)退货 FOO_BAR。
    classNameComplete()
    此表达式替换变量位置处的类名称完成
    clipboard()
    返回系统剪贴板的内容。
    commentEnd()
    返回指示当前语言上下文中注释结尾的字符。如果以当前语言定义行注释,则返回值为空。
    commentStart()
    返回指示当前语言上下文中注释开头的字符。如果使用当前语言定义行注释,则最好使用它们的开始指示符。
    complete()
    在变量的位置调用代码完成。
    completeSmart()
    在变量的位置调用智能类型完成。
    concat(expressions...)
    返回作为参数传递给函数的所有字符串的串联。
    dartIterableVariable()
    返回可以迭代的变量的名称。
    dartListVariable()
    返回数组的元素列表。
    dartSuggestIndexName()
    返回一个建议的名称从最常用的一个指标变量: i,j,k等未在当前范围内尚未使用的名称是第一个显示。
    dartSuggestVariableName()
    根据引用变量命名规则的代码样式设置,根据变量类型和初始化表达式返回变量的建议名称。
    例如,如果它是一个在迭代中保存元素的变量,WebStorm会考虑最合理的名称,并考虑迭代的容器的名称。
    date(sDate)
    以指定格式返回当前系统日期。
    如果没有参数,则以默认系统格式返回当前日期。
    decapitalize(sName)
    用相应的小写字母替换参数的第一个字母。
    defaultReturnValues
    如果在return语句中使用表达式,则返回默认值。errorVariableName如果表达式是错误类型,则使用 参数。
    enum(sCompletionString1,sCompletionString2,...)
    返回扩展模板时建议完成的以逗号分隔的字符串列表。
    escapeString(sEscapeString)
    转义指定为参数的字符串。
    expectedType()
    返回模板扩展到的表达式的预期类型。如果模板在作业的正确部分,之后return等扩展,则会有意义。
    fileName()
    返回当前文件的名称及其扩展名。
    fileNameWithoutExtension()
    返回没有扩展名的当前文件的名称。
    firstWord(sFirstWord)
    返回作为参数传递的字符串的第一个单词。
    groovyScript("groovy code", arg1)
    返回具有指定代码的Groovy脚本。
    您可以使用groovyScript()具有多个参数的函数。第一个参数是执行的脚本的文本或包含脚本的文件的路径。接下来的参数被绑定到_1,_2,_3,... _n变量中提供的脚本中。此外,该_editor变量在脚本中可用。此变量绑定到当前编辑器。
    JsArrayVariable()
    返回当前JavaScript数组的名称。
    jsClassName()
    返回当前JavaScript类的名称。
    jsComponentTypeOf()
    返回当前JavaScript组件的类型。
    jsDefineParameter
    根据模块的名称,返回参数 define(["module"], function (<parameter_in_question>>) {})。
    jsMethodName()
    返回当前JavaScript方法的名称。
    jsQualifiedClassName()
    返回当前JavaScript类的完整名称。
    jsSuggestIndexName()
    返回一个建议的名称从最常用的一个指标变量: i,j,k等未在当前范围内尚未使用的名称是第一个显示。
    jsSuggestVariableName()
    根据引用变量命名规则的代码样式设置,根据变量类型和初始化表达式返回变量的建议名称。
    例如,如果它是一个在迭代中保存元素的变量,WebStorm会考虑最合理的名称,并考虑迭代的容器的名称。
    jsSuggestDefaultVariableKind(Boolean)
    Boolean参数确定当前上下文中是否允许常量。如果未指定参数,则允许使用常量。当模板扩展,下拉列表显示有var,let,const为打字稿和ES6和只有一个选项var为早期版本的JavaScript选项。
    jsSuggestImportedEntityName()
    建议该类型的import语句的名称 `import * as $ITEM$ from "$MODULE$"`或`import $ITEM$ from "$MODULE$"` 基于文件名。
    lineCommentStart
    返回指示当前语言上下文中行注释开头的字符。
    lineNumber()
    返回当前行号。
    lowercaseAndDash(String)
    将camelCase字符串转换为小写,并将n-dashes作为分隔符插入。例如,lowercaseAndDash(MyExampleName)退货my-example-name。
    regularExpression(String, Pattern, Replacement)
    将camelCase字符串转换为小写,并将n-dashes作为分隔符插入。例如,lowercaseAndDash(MyExampleName)退货my-example-name。
    snakeCase(String)
    将字符串转换为snake_case。例如,snakeCase(fooBar)退货foo_bar。
    spaceSeparated(String)
    将字符串转换为小写并将空格作为分隔符插入。例如,spaceSeparated(fooBar)退货foo bar。
    spacesToUnderscores(sParameterWithSpaces)
    用作为参数传递的字符串中的下划线替换空格。例如,spacesToUnderscores(foo bar)退货foo_bar。
    substringBefore(String,Delimiter)
    在指定的分隔符后删除扩展名并仅返回文件名。这是测试的文件名有帮助(例如,substringBefore($FileName$,".")返回component-test的component-test.js)。
    time(sSystemTime)
    以指定格式返回当前系统时间。
    underscoresToCamelCase(String)
    用作为参数传递的字符串中的camelCase字母替换下划线。例如,underscoresToCamelCase(foo_bar)退货fooBar。
    underscoresToSpaces(sParameterWithUnderscores)
    用作为参数传递的字符串中的空格替换下划线。例如,underscoresToSpaces(foo_bar)退货foo bar。
    user()
    返回当前用户的名称。

webstorm的live templates快速编辑功能,让你的css JS代码书写速度飞起来的更多相关文章

  1. Zend Studio 上 安装使用Aptana插件(html,css,js代码提示功能) .

    最近装了zend studio 9.0 用了段时间发现写html,css,js代码没提示,要开dreamwaver(对js代码提示也不好).就网上搜索了下,发现了Aptana插件,装上用了下,感觉不错 ...

  2. Git Bash下实现复制粘贴等快速编辑功能

    在windows下使用Git Bash会经常用到选中.复制.粘贴等功能,但是一般用的方法会很复杂,笔者经过查阅一些资料,特整理一些常见编辑功能的实现方法. (1)默认方法: 单击左上角的logo ic ...

  3. 博客主题皮肤探索-添加新功能和fiddler的css/js替换

    还有前言 使用了主题之后,发现还差了一点功能.最新评论没有了,导致读者回复需要一点时间去找到底回复了哪条博客.于是就有了添加功能的想法. 如何调试CSS/JS 打开f12,可以看见加载的js资源都是混 ...

  4. JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入

    1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...

  5. 在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件

    在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件 开源程序 浏览:29555 2013年05月02日 文章目录[隐藏] 常见的工作流程 SFTP 安装和使用方法 第一步: ...

  6. ABBYY FineReader的快速任务功能如何用

    在使用ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,经常会执行一系列相同的步骤,如扫描.识别.将已识别文本导出为特定格式或导出至特定应用程序.针对经常执行的任 ...

  7. C#下控制台程序窗口下启用快速编辑模式运行线程会阻止线程运行

    最近做一个小的功能,使用C#控制台程序开启一个线程进行无限循环没5秒处理一次程序,发现控制台窗口在开启快速编辑模式情况下,进行选择程序打印 出来的文字后发现线程不走了,将快速编辑模式去除后,线程就不会 ...

  8. 搭建自己的博客(二十二):通过ajax提交评论信息,并增加公式编辑功能

    编辑功能使用到了ckeditor的MathJax组件.ajax提交评论可以不用刷新浏览器. 1.变化的部分

  9. Sublime Text 2 强大的编辑功能

    多行编辑功能:1) 同时编辑多行 (Ctrl+Shift+L (Win) 或  Command+Shift+L (Mac))如要在选中的多行文本的最后面同时添加一个字符"a",先选 ...

随机推荐

  1. WebSocket的实现与应用

    WebSocket的实现与应用 前言 说到websocket,就不得不提http协议的连接特点特点与交互模型. 首先,http协议的特点是无状态连接.即http的前一次连接与后一次连接是相互独立的. ...

  2. 后端小白的VUE入门笔记, 前端高能慎入

    因为项目需要前后端分离,后端竟然不用控制view层了,页面的跳转后端不再干涉,(前端的vue经过打包后成了一张index.html) 后端只需要响应给前端json串就ok,其实这不是爽歪歪?但是觉得还 ...

  3. Netty服务端启动过程相关源码分析

    1.Netty 是怎么创建服务端Channel的呢? 我们在使用ServerBootstrap.bind(端口)方法时,最终调用其父类AbstractBootstrap中的doBind方法,相关源码如 ...

  4. 论文阅读 | Falcon: Balancing Interactive Latency and Resolution Sensitivity for Scalable Linked Visualizations

    作者: Dominik Moritz, Bill Howe, Jeffrey Heer 发表于CHI 2019, 三位作者都来自于University of Washington Interactiv ...

  5. MyBatis 一级缓存、二级缓存全详解(一)

    目录 MyBatis 一级缓存.二级缓存全详解(一) 什么是缓存 什么是MyBatis中的缓存 MyBatis 中的一级缓存 初探一级缓存 探究一级缓存是如何失效的 一级缓存原理探究 还有其他要补充的 ...

  6. JAVA基础知识(六)Java 静态多分派&动态单分派

    1.分派发生在编译期和运行期,编译期的分派为静态分派,运行期的为动态分派. 2.编译期是根据对象声明的类型来选择方法,运行期是根据对象实际类型来选择方法. 3.单分派和多分派取决于宗量, 方法调用者和 ...

  7. [android视频教程] 传智播客android开发视频教程

    本套视频共有67集,是传智播客3G-Android就业班前8天的的课程量.本套视频教程是黎活明老师在2011年底对传智播客原来的Android核心基础课程精心重新录制的,比早期的Android课程内容 ...

  8. 使用PIP键盘输入数字小数位--Smart LCD

    应用范例: 使用TOPWAY Smart LCD (HMT050CC-C) 使用PIP键盘输入数字小数位 第一步 建立工程 第二步 建立三个页面,导入图片 点击工作区域, 右面显示页面属性 属性中Ba ...

  9. 洛谷 P1960 列队

    题意简述 有一个n × m 的矩阵,第i行第j列元素编号为(i - 1)× m +j 每次将一个数取出,其他元素依次向左,向上填补空缺,最后将取出的数放入矩阵最后一格 求每次取出数的编号 题解思路 由 ...

  10. 使用 php 内部web服务器

    使用 php 内部web服务器如网站目录 d:\web\index.php1.打开命令窗口,输入下列3条命令cd d:cd d:\web\index.phpphp -S localhost:80802 ...