• 【转】Hbuilder配置Avalon、Vue指令提示


    转载自CSDN

    http://blog.csdn.net/jianggujin/article/details/71419828

    我本人是一名Java后端开发,偶尔也会研究一下前端内容,因为Hbuilder是基于eclipse开发的,所以用起来倍感亲切啊,而且在我尝试使用的几款前端开发工具中,Hbuilder的表现也是相当出色地,可以访问Huilder官网下载体验一下。 
    言归正传,当前前端的开发中,MVVM框架非常流行,比较典型的如:AngularJS、VueJS等,这部分框架基本都有一个指令的概念,在工具中配置相关的提示,可以极大地方便的我们的开发,下面就来介绍一下如何在Hbuilder中进行配置。

    依次点击:工具 -> 扩展代码块 -> 自定义html代码块

    这里写图片描述

    打开后源文件代码如下:

     1 require 'ruble'
     2 =begin 
     3  HBuilder可使用ruby脚本来扩展代码块和增强操作命令。这是极客的神奇玩具。
     4   本文档用于用户自定义HTML扩展命令,并非HBuilder预置命令的文档,预置的代码块不可改。查阅预置代码块,请在弹出预置代码块界面时点右下角的编辑按钮,比如div代码块。
     5   本文档修改完毕,保存即可生效。
     6   玩的愉快,别玩坏!
     7 
     8   脚本开源地址 https://github.com/dcloudio/HBuilderRubyBundle
     9   可以把你的配置共享到这里,也可以在这里获取其他网友的版本
    10 
    11   注:如果1.9版本之前的用户修改过HTML代码块,请点右键打开本文档所在目录,找之前的snippets.rb.bak文件,把修改过的内容放置进来。 
    12 =end
    13 
    14 with_defaults :scope => 'text.html text' do |bundle|  #=====HTML标签代码块================================================================================
    15 #如下是一个示例代码块,可以复制后再添加新代码块
    16   snippet 'div_class' do |cmd|  #div_class是显示名称,代码助手提示列表显示时可见
    17     cmd.trigger = 'divc'        #divc是激活字符,即按下divc后会触发该代码块
    18     cmd.expansion = "<div class="$1">
    19     $0
    20 </div>"                         #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。$1是第一个停留光标,$0是最后回车时停留的光标。
    21                                                           #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
    22                                                           #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
    23     cmd.needApplyReContentAssist = true  #这句话的意思是输出后同时激活代码助手,即在$1的位置直接拉出样式列表
    24   end #div_class代码块结束
    25 
    26   snippet 'ng-pluralize' do |cmd|
    27     cmd.trigger = 'ngp'
    28     cmd.expansion = "<ng-pluralize>$1</ng-pluralize>"
    29   end
    30 
    31 end
    32 
    33 
    34 with_defaults :scope => 'text.html entity.other.attribute-name.html' do |bundle|  #=====HTML属性代码块====================================================
    35 #如下是一个示例代码块,可以复制后再添加新代码块
    36   snippet 'ng-' do |s|   #ng-是显示名称,代码助手提示列表显示时可见
    37     s.trigger = 'ng-'        #ng-是激活字符,即按下ng-后会触发该代码块
    38     s.expansion='ng-${1:app/bind/bind-html/bind-template/blur/change/checked/class/class-even/class-odd/click/cloak/controller/copy/csp/cut/dblclick/disabled/focus/hide/href/if/include/init/keydown/keypress/keyup/list/model/mousedown/mouseenter/mouseleave/mousemove/mouseover/mouseup/ng-non-bindable/open/options/paste/readonly/repeat-start/repeat-end/selected/show/src/srcset/style/submit/swipe-left/swipe-right/switch/switch-default/switch-when/view}="$2"'
    39         #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。
    40       #$1是第一个停留光标,$0是最后回车时停留的光标。
    41       #使用{}包围的内容,是提示值域。
    42       #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
    43       #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
    44     s.locationType='HTML_ATTRIBUTE'
    45   end #ng代码块结束
    46 
    47 end
    48 
    49 
    50 with_defaults :scope => 'text.html - source', :input => :none, :output => :insert_as_snippet do |bundle|  #=====无显示名称的快捷命令=======================
    51 =begin
    52 如下示例均为系统已经预置的命令,无需重复制作
    53 示例1 Ctrl+Enter输出<br />
    54   command t(:quick_br) do |cmd|
    55     cmd.key_binding = 'M2+ENTER'
    56     cmd.output = :insert_as_snippet
    57     cmd.input = :none
    58     cmd.invoke { "<br />" }
    59   end
    60 示例2 Ctrl+9为选中文字添加包围标签
    61   command t(:wrap_selection_in_tag_pair) do |cmd|
    62     cmd.key_binding = "CONTROL+9"
    63     cmd.input = :selection
    64     cmd.invoke do |context|
    65       selection = ENV['TM_SELECTED_TEXT'] || ''
    66       if selection.length > 0
    67         "<${1:p}>#{selection.gsub('/', '/')}</${1:p}>"
    68       else
    69         "<${1:p}>$0</${1:p}>"
    70       end
    71     end
    72   end
    73 =end
    74 #可复制一段命令,在下面开始制作新命令
    75 
    76 end

    在这段配置中,已经配置了angularjs的指令提示。

     1 with_defaults :scope => 'text.html entity.other.attribute-name.html' do |bundle|  #=====HTML属性代码块====================================================
     2 #如下是一个示例代码块,可以复制后再添加新代码块
     3   snippet 'ng-' do |s|   #ng-是显示名称,代码助手提示列表显示时可见
     4     s.trigger = 'ng-'        #ng-是激活字符,即按下ng-后会触发该代码块
     5     s.expansion='ng-${1:app/bind/bind-html/bind-template/blur/change/checked/class/class-even/class-odd/click/cloak/controller/copy/csp/cut/dblclick/disabled/focus/hide/href/if/include/init/keydown/keypress/keyup/list/model/mousedown/mouseenter/mouseleave/mousemove/mouseover/mouseup/ng-non-bindable/open/options/paste/readonly/repeat-start/repeat-end/selected/show/src/srcset/style/submit/swipe-left/swipe-right/switch/switch-default/switch-when/view}="$2"'
     6         #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。
     7       #$1是第一个停留光标,$0是最后回车时停留的光标。
     8       #使用{}包围的内容,是提示值域。
     9       #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
    10       #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
    11     s.locationType='HTML_ATTRIBUTE'
    12   end #ng代码块结束
    13 
    14 end

    指令本质上就是HTML标签的属性,所以我们需要做的就是在这段配置里面添加我们自己需要的指令提示。添加后,该段配置如下:

    with_defaults :scope => 'text.html entity.other.attribute-name.html' do |bundle|  #=====HTML属性代码块====================================================
    #如下是一个示例代码块,可以复制后再添加新代码块
      snippet 'ng-' do |s|   #ng-是显示名称,代码助手提示列表显示时可见
        s.trigger = 'ng-'        #ng-是激活字符,即按下ng-后会触发该代码块
        s.expansion='ng-${1:app/bind/bind-html/bind-template/blur/change/checked/class/class-even/class-odd/click/cloak/controller/copy/csp/cut/dblclick/disabled/focus/hide/href/if/include/init/keydown/keypress/keyup/list/model/mousedown/mouseenter/mouseleave/mousemove/mouseover/mouseup/ng-non-bindable/open/options/paste/readonly/repeat-start/repeat-end/selected/show/src/srcset/style/submit/swipe-left/swipe-right/switch/switch-default/switch-when/view}="$2"'
            #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。
          #$1是第一个停留光标,$0是最后回车时停留的光标。
          #使用{}包围的内容,是提示值域。
          #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
          #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
        s.locationType='HTML_ATTRIBUTE'
      end #ng代码块结束
    
      snippet 'ms-' do |s|   #ms-avalon代码提示
        s.trigger = 'ms-'
        s.expansion='ms-${1:skip/controller/important/attr/css/text/html/class/active/hover/if/visible/for/on/on-animationend/on-blur/on-change/on-input/on-click/on-dblclick/on-focus/on-keydown/on-keypress/on-keyup/on-mousedown/on-mouseenter/on-mouseleave/on-mousemove/on-mouseout/on-mouseover/on-mouseup/on-scroll/on-submit/duplex/rules/validate/effect/widget}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #ms代码块结束
    
      snippet ':' do |s|   #:-avalon2.1.15后使用:xxxx短指令代码提示
        s.trigger = ':'
        s.expansion=':${1:skip/controller/important/attr/css/text/html/class/active/hover/if/visible/for/on/on-animationend/on-blur/on-change/on-input/on-click/on-dblclick/on-focus/on-keydown/on-keypress/on-keyup/on-mousedown/on-mouseenter/on-mouseleave/on-mousemove/on-mouseout/on-mouseover/on-mouseup/on-scroll/on-submit/duplex/rules/validate/effect/widget}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #:代码块结束
    
      snippet 'v-' do |s|   #v-vue代码提示
        s.trigger = 'v-'
        s.expansion='v-${1:text/html/show/if/else/else-if/for/on/bind/model/pre/cloak/once}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #v代码块结束
    
    end

    配置修改完成后,直接保存,虽然文件上提示保存后即可生效,但是我在实际使用中发现并未生效,不要急,我们只需要重启一下Hbuilder就可以了。重启后,我们在来使用这些指令,只要输入触发的字符串就会出现提示了。 
    这里写图片描述

    补发修改后的完整配置文件,如果没有修改过,直接替换掉原文件。

    require 'ruble'
    =begin
     HBuilder可使用ruby脚本来扩展代码块和增强操作命令。这是极客的神奇玩具。
      本文档用于用户自定义HTML扩展命令,并非HBuilder预置命令的文档,预置的代码块不可改。查阅预置代码块,请在弹出预置代码块界面时点右下角的编辑按钮,比如div代码块。
      本文档修改完毕,保存即可生效。
      玩的愉快,别玩坏!
    
      脚本开源地址 https://github.com/dcloudio/HBuilderRubyBundle
      可以把你的配置共享到这里,也可以在这里获取其他网友的版本
    
      注:如果1.9版本之前的用户修改过HTML代码块,请点右键打开本文档所在目录,找之前的snippets.rb.bak文件,把修改过的内容放置进来。
    =end
    
    with_defaults :scope => 'text.html text' do |bundle|  #==HTML标签代码==
    #如下是一个示例代码块,可以复制后再添加新代码块
      snippet 'div_class' do |cmd|  #div_class是显示名称,代码助手提示列表显示时可见
        cmd.trigger = 'divc'        #divc是激活字符,即按下divc后会触发该代码块
        cmd.expansion = "<div class="$1">$0</div>"
                                    #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。$1是第一个停留光标,$0是最后回车时停留的光标。
                                    #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
                                    #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
        cmd.needApplyReContentAssist = true  #这句话的意思是输出后同时激活代码助手,即在$1的位置直接拉出样式列表
      end #div_class代码块结束
    
      snippet 'ng-pluralize' do |cmd|
        cmd.trigger = 'ngp'
        cmd.expansion = "<ng-pluralize>$1</ng-pluralize>"
      end
    
    end
    
    
    with_defaults :scope => 'text.html entity.other.attribute-name.html' do |bundle|  #==HTML属性代码==
    #如下是一个示例代码块,可以复制后再添加新代码块
      snippet 'ng-' do |s|    #ng-是显示名称,代码助手提示列表显示时可见
        s.trigger = 'ng-'     #ng-是激活字符,即按下ng-后会触发该代码块
        s.expansion='ng-${1:app/bind/bind-html/bind-template/blur/change/checked/class/class-even/class-odd/click/cloak/controller/copy/csp/cut/dblclick/disabled/focus/hide/href/if/include/init/keydown/keypress/keyup/list/model/mousedown/mouseenter/mouseleave/mousemove/mouseover/mouseup/ng-non-bindable/open/options/paste/readonly/repeat-start/repeat-end/selected/show/src/srcset/style/submit/swipe-left/swipe-right/switch/switch-default/switch-when/view}="$2"'
        #expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。
        #$1是第一个停留光标,$0是最后回车时停留的光标。
        #使用{}包围的内容,是提示值域。
        #如果输出涉及到换行和tab,也需严格在这里使用换行和tab。
        #输出双引号在前面加来转义,输出$使用$(单引号中)或\$(双引号中)转义
        s.locationType='HTML_ATTRIBUTE'
      end #ng代码块结束
    
      snippet 'ms-' do |s|   #ms-avalon代码提示
        s.trigger = 'ms-'
        s.expansion='ms-${1:skip/controller/important/attr/css/text/html/class/active/hover/if/visible/for/on/on-animationend/on-blur/on-change/on-input/on-click/on-dblclick/on-focus/on-keydown/on-keypress/on-keyup/on-mousedown/on-mouseenter/on-mouseleave/on-mousemove/on-mouseout/on-mouseover/on-mouseup/on-scroll/on-submit/duplex/rules/validate/effect/widget}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #ms代码块结束
    
      snippet ':' do |s|   #:-avalon2.1.15后使用:xxxx短指令代码提示
        s.trigger = ':'
        s.expansion=':${1:skip/controller/important/attr/css/text/html/class/active/hover/if/visible/for/on/on-animationend/on-blur/on-change/on-input/on-click/on-dblclick/on-focus/on-keydown/on-keypress/on-keyup/on-mousedown/on-mouseenter/on-mouseleave/on-mousemove/on-mouseout/on-mouseover/on-mouseup/on-scroll/on-submit/duplex/rules/validate/effect/widget}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #:代码块结束
    
      snippet 'v-' do |s|   #v-vue代码提示
        s.trigger = 'v-'
        s.expansion='v-${1:text/html/show/if/else/else-if/for/on/bind/model/pre/cloak/once}="$2"'
        s.locationType='HTML_ATTRIBUTE'
      end #v代码块结束
    
    end
    
    
    with_defaults :scope => 'text.html - source', :input => :none, :output => :insert_as_snippet do |bundle|  #==无显示名称的快捷命令==
    =begin
    如下示例均为系统已经预置的命令,无需重复制作
    示例1 Ctrl+Enter输出<br />
      command t(:quick_br) do |cmd|
        cmd.key_binding = 'M2+ENTER'
        cmd.output = :insert_as_snippet
        cmd.input = :none
        cmd.invoke { "<br />" }
      end
    示例2 Ctrl+9为选中文字添加包围标签
      command t(:wrap_selection_in_tag_pair) do |cmd|
        cmd.key_binding = "CONTROL+9"
        cmd.input = :selection
        cmd.invoke do |context|
          selection = ENV['TM_SELECTED_TEXT'] || ''
          if selection.length > 0
            "<${1:p}>#{selection.gsub('/', '/')}</${1:p}>"
          else
            "<${1:p}>$0</${1:p}>"
          end
        end
      end
    =end
    #可复制一段命令,在下面开始制作新命令
    
    end
  • 相关阅读:
    abap 调用Http --“Get”
    SAP-PI接口创建中的ABAP处理(不含PI配置)
    ALV 监听事件
    ABAP动态创建内表并展示--自撸版
    ABAP动态生成内表的三种方法
    SAP BP字段增强--付款条件检查
    SAP RFC上传接口(包含发布Webservice地址)
    C# 时间函数
    配置Excel的DCOM权限
    ORA-12571 : TNS : 包写入程序失败
  • 原文地址:https://www.cnblogs.com/xiaoyujade/p/7404592.html
Copyright © 2020-2023  润新知