• HBuilder扩展代码块功能


    作为程序员,大家都应该比较烦的事情就是将相同的代码块复制到N多个地方,但是这种情况有不可避免。为了解决这个问题,我希望实现的是直接将对应的模块提前在编辑器中编辑好,然后用一两个字母提示就能将这个模块调用。最后就找到了HBuilder,因为HBuilder最大的特点就是编辑快,快的原因就是他能实现将我们常用代码模块化。(说到这里我不得不吐槽一下他的智能提示,真心做的很差,在同类软件中我可以说他的只能提示是最差的,没有之一。连常用词汇排在第一个这么简单的功能都没做,真心无语。)但是好处就是他可以用---扩展代码块---这个功能不全。废话不多说,直接来功能!

    1,打开HBuilder ----- 工具 ---- 扩展代码块

    这个时候我们可以看到四个选项

    (1),自定义HTML代码块

    (2),自定义CSS代码块

    (3),自定义JS代码块

    (4),自定义jQuery代码块

    这里以HTML代码块举例,其他都差不多!

    2,点击‘自定义HTML代码块’打开后界面

    我们可以看到打开的是:html_sinppets.rb文件

    3,在html_sinppets.rb文件中定义我们自己的代码块

    虽然在这个文件中代码注释已经写的很清楚了,但是我还是大概说一下

    HBuilder给了我们三种HTML的自定义代码块

    (1),HTML标签代码块

    with_defaults :scope => 'text.html text' do |bundle|


    (2),HTML属性代码块

    with_defaults :scope => 'text.html entity.other.attribute-name.html' do |bundle|

    (3),无显示名称的快捷命令

    with_defaults :scope => 'text.html - source', :input => :none, :output => :insert_as_snippet do |bundle|


    4,代码块具体设置

    (1),HTML标签代码块

    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


    ‘div_class’是显示名称,代码助手提示列表显示时可见

    divc是激活字符,即按下divc后会触发该代码块

    expansion是代码块的输出内容,其中$0、$1是光标的停留和切换位置。$1是第一个停留光标,$0是最后回车时停留的光标。

    cmd.needApplyReContentAssist = true #这句话的意思是输出后同时激活代码助手,即在$1的位置直接拉出样式列表

    自定义HTML标签代码块直接在其后边添加

    snippet '自定义提示信息' do |cmd|
        cmd.trigger = '自定义快捷键'
        cmd.expansion = "自定义HTML标签"
      end

    其他的---自定义HTML属性---,----无显示名称的快捷命令----原理都一样

    还有---自定义CSS代码块---,----自定义JS代码块----,----自定义jquery代码块----都有对应的注释,直接按照文档注释,就可以完美编辑。

    这个功能主要是最开始的自定义代码块比较麻烦,如果我们将这一块做好,那么他不但能够解决HBuilder智能提示这一块的缺点,同时能够大大的提高我们的开发效率!
     

    其他

    [我的博客,欢迎交流!](http://rattenking.gitee.io/stone/index.html)

    [我的CSDN博客,欢迎交流!](https://blog.csdn.net/m0_38082783)

    [微信小程序专栏](https://blog.csdn.net/column/details/18335.html)

    [前端笔记专栏](https://blog.csdn.net/column/details/18321.html)

    [微信小程序实现部分高德地图功能的DEMO下载](http://download.csdn.net/download/m0_38082783/10244082)

    [微信小程序实现MUI的部分效果的DEMO下载](http://download.csdn.net/download/m0_38082783/10196944)

    [微信小程序实现MUI的GIT项目地址](https://github.com/Rattenking/WXTUI-DEMO)

    [微信小程序实例列表](http://blog.csdn.net/m0_38082783/article/details/78853722)

    [前端笔记列表](http://blog.csdn.net/m0_38082783/article/details/79208205)

    [游戏列表](http://blog.csdn.net/m0_38082783/article/details/79035621)


     

  • 相关阅读:
    Android面试题 描述一下android的系统架构
    Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系
    Android笔记(三十四) Android中线程之间的通信(六)Handle中的post()方法详解
    Android笔记(三十三) Android中线程之间的通信(五)Thread、Handle、Looper和MessageQueue
    【转载】解密ThreadLocal
    Android笔记(三十二) Android中线程之间的通信(四)主线程给子线程发送消息
    Android笔记(三十一)Android中线程之间的通信(三)子线程给主线程发送消息
    Android笔记(三十) Android中线程之间的通信(二)Handler消息传递机制
    Android笔记(二十九) Android中的异步更新(一) Android中的线程
    Flask:初识;简单使用;Werkzeug简介;Flask四剑客;配置文件
  • 原文地址:https://www.cnblogs.com/linewman/p/9918540.html
Copyright © 2020-2023  润新知