HBuilder js 自定义代码块
=begin
本文档是HBuilder预置的js代码块的文件。注意不要把其他语言的设置放到js里来。
如果用户修改此文档,HBuilder升级后会覆盖用户的修改,建议进入菜单 工具→扩展代码块 扩展相应的代码块。
若修改本文档,需要重启才能生效。修改过程中注意备份。
脚本开源地址 https://github.com/dcloudio/HBuilderRubyBundle
、编辑代码块
如果要新增一个代码块,复制如下一段代码到空白行,然后设定参数。
snippet "document.getElementById" do |s| #'document.getElementById'是代码块的显示名字;
s.trigger = "dgi" #'dgi' 是激活字符,比如输入dgi均会在代码提示时显示该代码块;
s.expansion = "document.getElementById(\"$1\")" #expansion是设定该代码块的输出字符,其中$、$1是光标的停留和切换位置。
#如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
#输出双引号在前面加\来转义,输出$使用$$转义
s.needApplyReContentAssist = true #输入代码块后立即在$1位置激活代码提示助手
end
、编辑按键命令
如果要新增一个按键操作命令,复制如下一段代码到空白行,然后设定参数。
command t(:multicomment) do |cmd| #:首先起个名字,multicomment是名字
cmd.key_binding = 'M1+M2+/' #这里绑定触发按键,这里是Ctrl+Shift+/
cmd.input = :selection #输入内容是选中区域的内容
cmd.invoke do |context|
selection = ENV['TM_SELECTED_TEXT'] || ''
# 如果选区长度大于0,则输出如下字符。回车符就使用真实回车。如下输出即在选中内容前后加上/* */的注释
if selection.length >
"/*
${:#{selection}}
*/"
end
end
end
=end require 'ruble' with_defaults :scope => "source.js" do #=====JS代码块编辑=============================== snippet t(:object_method) do |s|
s.trigger = ":f"
s.expansion = "${1:method_name}: function(${2:attribute}){
$
}${:,}"
end snippet "function" do |s|
s.trigger = "funn"
s.expansion = "function ${1:function_name} ($2) {
$
}"
end snippet t(:function_anonymous) do |s|
s.trigger = "funan"
s.expansion = "function ($1) {
$
}"
end snippet t(:function_closures) do |s|
s.trigger = "funcl"
s.expansion = "(function ($1) {
$
})($)"
end snippet t(:prototype) do |s|
s.trigger = "proto"
s.expansion = "${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {
${:// body...}
};
"
end snippet t(:if) do |s|
s.trigger = "iff"
s.expansion = "if ($1) {
$
}"
end snippet t(:if_else) do |s|
s.trigger = "ife"
s.expansion = "if ($1) { } else{ }"
end snippet t(:if_compare) do |s|
s.trigger = "ifc"
s.expansion = "if ($1 == ${2:true}) { } else{ }"
end snippet t(:for) do |s|
s.trigger = "forr"
s.expansion = "for ($1) {
$
}"
end snippet t(:fori) do |s|
s.trigger = "fori"
s.expansion = "for (var i = 0; i < ${1:Things}.length; i++) {
${:Things}[i]
}"
end snippet t(:with) do |s|
s.trigger = "withh"
s.expansion = "with ($1){
$
}"
end
snippet t(:typeof) do |s|
s.trigger = "typeoff"
s.expansion = 'typeof($1)=="${2:undefined/boolean/function/number/object/string}"'
end snippet t(:switch_case) do |s|
s.trigger = "switchcase"
s.expansion = "switch (${1}){
case ${:value}:
break;
default:
break;
}"
end snippet "while" do |s|
s.trigger = "whilee"
s.expansion = "while (${1:condition}){ }"
end snippet "var i=0;" do |s|
s.trigger = "vari"
s.expansion = "var ${1:i}=${2:0};"
end snippet "var s=\"\";" do |s|
s.trigger = "vars"
s.expansion = "var ${1:s}=\"$2\";"
end snippet "var a=[];" do |s|
s.trigger = "vara"
s.expansion = "var ${1:a}=[$2];"
end snippet "var l=a.length;" do |s|
s.trigger = "varl"
s.expansion = "var ${1:l}=${2:a}.length;"
end snippet "var c = canvas" do |s|
s.trigger = "varc"
s.expansion = "var ${2:c} = document.getElementById(\"$1\").getContext(\"2d\");"
s.needApplyReContentAssist = true
end snippet "var xhr" do |s|
s.trigger = "varxhr"
s.expansion = "var ${1:xhr} = new XMLHttpRequest();
xhr.open(\"${2:GET/POST/PUT}\",\"$3\",${4:true/false});"
end snippet "return true;" do |s|
s.trigger = "returntrue"
s.expansion = "return true;"
end snippet "return false;" do |s|
s.trigger = "returnfalse"
s.expansion = "return false;"
end snippet "console.log();" do |s|
s.trigger = "log"
s.expansion = "console.log(\"$1\");"
end snippet "try{}catch(e)" do |s|
s.trigger = "trycatch"
s.expansion = "try{
$
}catch(e){
//TODO handle the exception
}"
end snippet "$ (document.getElementById)" do |s|
s.trigger = "dg"
s.expansion = "document.getElementById(\"$1\")"
s.needApplyReContentAssist = true
end snippet '$("")' do |s|
s.trigger = "dl"
s.expansion = "$$($1)"
s.needApplyReContentAssist = true
end
snippet '$("#")' do |s|
s.trigger = "dlid"
s.expansion = "$$(\"\#$1\")"
s.needApplyReContentAssist = true
end
snippet '$(".")' do |s|
s.trigger = "dlclass"
s.expansion = "$$(\".$1\")"
s.needApplyReContentAssist = true
end snippet "document.getElementById" do |s|
s.trigger = "dgi"
s.expansion = "document.getElementById(\"$1\")"
s.needApplyReContentAssist = true
end snippet "document.querySelectorAll" do |s|
s.trigger = "dqs"
s.expansion = "document.querySelectorAll(\"$1\")"
s.needApplyReContentAssist = true
end snippet "document.write" do |s|
s.trigger = "dw"
s.expansion = "document.write(\"$1\")"
end snippet "navigator.userAgent;" do |s|
s.trigger = "nuser"
s.expansion = "navigator.userAgent"
end snippet t(:object_value) do |s|
s.trigger = ":,"
s.expansion = "${1:value_name}:${0:value},"
end snippet t(:object_key) do |s|
s.trigger = ":"
s.expansion = '${1:key}: ${2:"${3:value}"}${4:, }'
end snippet t(:setTimeout) do |s|
s.trigger = "timeout"
s.expansion = "setTimeout(function() {$0}, ${1:10});"
end snippet t(:object_method_string) do |s|
s.trigger = ':f'
s.expansion = "'${1:${2:#thing}:${3:click}}': function(element){
$
}${:,}"
end snippet "@alias" do |s|
s.trigger = "@alias"
s.locationType="JS_DOC"
s.expansion = "@alias ${1:alias_name}"
end snippet "@author" do |s|
s.trigger = "@author"
s.locationType="JS_DOC"
s.expansion = "@author ${1:author}"
end snippet "@classDescription" do |s|
s.trigger = "@classDescription"
s.locationType="JS_DOC"
s.expansion = "@classDescription {${1:namespace}} ${2:description}"
end snippet "@constructor" do |s|
s.trigger = "@constructor"
s.locationType="JS_DOC"
s.expansion = "@constructor ${1:description}"
end snippet "@example" do |s|
s.trigger = "@example"
s.locationType="JS_DOC"
s.expansion = "@example ${1:example_code}"
end snippet "@exception" do |s|
s.trigger = "@exception"
s.locationType="JS_DOC"
s.expansion = "@exception {${1:exception_type}} ${2:description}"
end snippet "@extends" do |s|
s.trigger = "@extends"
s.locationType="JS_DOC"
s.expansion = "@extends {${1:parent_type}} ${2:description}"
end snippet "@function" do |s|
s.trigger = "@function"
s.locationType="JS_DOC"
s.expansion = "@function ${1}"
end snippet "@internal" do |s|
s.trigger = "@internal"
s.locationType="JS_DOC"
s.expansion = "@internal ${1}"
end snippet "@param" do |s|
s.trigger = "@param"
s.locationType="JS_DOC"
s.expansion = "@param {${1:boolean/function/number/object/string/AttrString/ClassString/ColorString/CSSString/CSSURIString/EventString/FontString/HTMLString/IDString/ImageURIString/JSURIString/MultimediaString/SelectorString/TagString/URIString}} ${2:param_name}"
end snippet "@private" do |s|
s.trigger = "@private"
s.locationType="JS_DOC"
s.expansion = "@private ${1}"
end snippet "@property" do |s|
s.trigger = "@property"
s.locationType="JS_DOC"
s.expansion = "@property ${1}"
end snippet "@return" do |s|
s.trigger = "@return"
s.locationType="JS_DOC"
s.expansion = "@return {${1:return_type}} ${2}"
end snippet "@see" do |s|
s.trigger = "@see"
s.locationType="JS_DOC"
s.expansion = "@see ${2:link}"
end snippet "@type" do |s|
s.trigger = "@type"
s.locationType="JS_DOC"
s.expansion = "@type {${1:boolean/function/number/object/string/AttrString/ClassString/ColorString/CSSString/CSSURIString/EventString/FontString/HTMLString/IDString/ImageURIString/JSURIString/MultimediaString/SelectorString/TagString/URIString}} ${2:param_name}"
end snippet "@userAgent" do |s|
s.trigger = "@userAgent"
s.locationType="JS_DOC"
s.expansion = "@userAgent ${1:browser1}:${2:version1},${3:browser2}:${4:version2}"
end end with_defaults :scope => "source.js", :input => :none, :output => :insert_as_snippet do |bundle|
=begin
command t(:multicomment) do |cmd| #:首先起个名字,multicomment是名字
cmd.key_binding = 'M1+M2+/' #这里绑定触发按键,这里是Ctrl+Shift+/
cmd.input = :selection #输入内容是选中区域的内容
cmd.invoke do |context|
selection = ENV['TM_SELECTED_TEXT'] || ''
# 如果选区长度大于0,则输出如下字符。回车符就使用真实回车。如下输出即在选中内容前后加上/* */的注释
if selection.length >
"/*
${:#{selection}}
*/"
end
end
end
=end
end
HBuilder js 自定义代码块的更多相关文章
- Hbuilder jQuery 自定义代码块
=begin 本文档是jquery代码块的编辑文件.修改其他的代码块,请在对应的激活代码助手点右下角的修改图标. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要 ...
- HBuilder HTML 自定义代码块
=begin 本文档是HTML代码块的编辑文件.注意不要把其他语言的设置放到html里来. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要新增一个代码块,复制如 ...
- HBuilder CSS 自定义代码块
=begin 本文档是CSS代码块的编辑文件.注意不要把其他语言的设置放到css里来. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要新增一个代码块,复制如下一 ...
- vsCode与Hubilder中自定义代码块
平常测试vue的一些属性时总要新增代码,引入文件,麻烦,顾自定义代码块来实现快速新增测试 一.打开设置 1.1 vsCode设置 点击后选择代码块所属的文件类型,比如在html中则选择html类型配置 ...
- Xcode自定义代码块
到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...
- webstrom自定义代码块的设置方法
webstrom里面的自定义代码块叫做活动模版 在文件 -> 设置 -> 编辑器 -> 活动模版可以打开 里面的$var$ 代表一个变量 两个相同的$var$在不全后可以同时修改, ...
- IDE MAC下的快捷键,自定义代码块。
快捷键 参考博客:http://blog.csdn.net/iguiyi/article/details/51853728 alt+f7查找在哪里使用 相当于eclipse的ctrl+shift+G ...
- vscode自定义代码块
vscode中设置自定义代码块打开首选项,选择用户代码片段,打开后选择编程语言选中后打开文件,按照格式编辑内容 "Print to console log": { "pr ...
- vs2015常用代码块与自定义代码块
常用代码块 代码段名 描 述 #if 该代码段用#if和#endif命令围绕代码 #region 该代码段用#region和#endregion命令围绕代码 ~ 该代码段插入一个析构函数 att ...
随机推荐
- How use Instruments and display the console in Command Lines applications
I'm using Xcode on OSX to develop command line C applications. I would also like to use Instruments ...
- cocos2d-x3.x屏蔽遮罩层屏蔽触摸button
cocos2d-x3.x触摸方法改变后,.屏蔽掉的层实际上触摸事件的非常easy,首先touchbegan一定要回true,第二,该事件被设定为听吞没触摸true.最近登录触摸水平必须低于0,现在,我 ...
- 首先看K一个难看的数字
把仅仅包括质因子2.3和5的数称作丑数(Ugly Number),比如:2,3,4,5,6,8,9,10,12,15,等,习惯上我们把1当做是第一个丑数. 写一个高效算法,返回第n个丑数. impor ...
- JavaEE入境后在做什么——公共入口疑问的答案
hi.大家好, 随着学生毕业的下一个学期,传智播客收集了许多优异的成绩或就业或普通医生分享工作经验,现在是时候让大家从发展的角度真正去聊天. 什么技术开发.我们传智播客的学员扮演什么样的角色,以及详细 ...
- CodeForces 28D Don't fear, DravDe is kind dp
主题链接:点击打开链接 为了让球队后,删除是合法的.也就是说,对于每一个车辆, l+r+c 一样,按l+r+c分类. 然后dp一下. #include <cstdio> #include ...
- web开发性能优化---UI接口章
1.尽可能的远div+css设计 DIV+CSS与表相比格优势布局: a.精简代码 采用DIV+CSS设计,页面代码精简.这是为了XHTML了解都知道. 代码精简所带来的直接优点有两点:一是提高蜘蛛爬 ...
- 使用C#或javascript将Table里的数据导出到Excel
原文:使用C#或javascript将Table里的数据导出到Excel Demo效果图: 用C#将Table数据导出Excel: 本方法已经将导出excel做成分部视图,引用时只需在视图中使用如下代 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- Android基础之——MacOSX下elipse开发环境的配置
前不久换了台macbook,然后自己就把开发环境给配好了,本来这事就这么过去了,今天有位博友留言让我写一篇关于配置的文章,考虑到这个东西确实以后可能还会用,那就写下来,分享给大家,正好自己也再次回想一 ...
- javascript实现数据结构:广义表
原文:javascript实现数据结构:广义表 广义表是线性表的推广.广泛用于人工智能的表处理语言Lisp,把广义表作为基本的数据结构. 广义表一般记作: LS = (a1, a2, ..., an ...