zl程序教程

您现在的位置是:首页 >  工具

当前栏目

sublime插件开发教程(附源码)

2023-09-27 14:27:08 时间
             虽然可能大神门在编辑器方面都比较偏向于vim之类的自由度更高的工具,但是从我个人来讲sublime这样的插件安装更方便的工具还是比较得心应手的。之前用sublime写英语作文,但是没有一个比较好用的timer,Package_Control里面的track_timer不能实时显示时间,所以博主就自己动手,写了这个插件,可以实时timer,记录时间。效果如下图
             虽然可能大神门在编辑器方面都比较偏向于vim之类的自由度更高的工具,但是从我个人来讲sublime这样的插件安装更方便的工具还是比较得心应手的。之前用sublime写英语作文,但是没有一个比较好用的timer,Package_Control里面的track_timer不能实时显示时间,所以博主就自己动手,写了这个插件,可以实时timer,记录时间。效果如下图,
   使用起来很方便,只要把下载好的sublime-timer文件夹放在下图这个路径下即可。
    可以用快捷键方便的对timer进行操作:           "control+alt+t": start timer
          "control+alt+p": pause or stop timer
          "control+alt+z": make zero
3.制作过程   (1)环境        开发sublime插件用到的是python语言,因为要用到sublime内置的sublime和sublime_plugin库,所以debug和调试都应该在sublime里面。 下面的链接是sublime的库得参数信息:http://www.sublimetext.com/docs/2/api_reference.html (2)自带example            如果不习惯看开发文档,可以参考下以下example的开发(下面参考自http://www.welefen.com/how-to-develop-sublime-text-plugin.html)。

1、通过Tools - New Plugin...来打开一个初始化的插件编辑文件,它将有如下的内容:

import sublime, sublime_plugin

class ExampleCommand(sublime_plugin.TextCommand):

 def run(self, edit):

 self.view.insert(edit, 0, "Hello, World!")

2、通过Preferences - Browse Packages...打开Packages文件夹,在该文件夹下建立个子文件夹,名字为你想开发的插件名字,如:KeymapManager。回到插件开发的初始化编辑器页面,通过ctrl+s (Windows/Linux) orcmd+s (OS X)保存这个文件,并放到你建立的子文件夹下,文件名如:KeymapManager.py

3、通过ctrl+`快捷键打开SublimeText的控制台,执行如下的命令:

view.run_command(example)
如果你在当前文件最前面看到插入了Hello, Word!,那表明插件执行成功了。

4、ExampleCommand名字改为你想要的插件名字,如: KeymapmanagerCommand,然后就可以开发该插件对应的功能了。

5、通过官方的API文档查找你需要的接口,文档见:http://www.sublimetext.com/docs/2/api_reference.html


 (3)sublime-timer
class timer(threading.Thread): #The timer class is derived from the class threading.Thread def __init__(self, num, interval): threading.Thread.__init__(self) self.thread_num = num self.interval = interval self.thread_stop = False def run(self): #Overwrite run() method, put what you want the thread do here global i while not self.thread_stop: sublime.set_timeout(write_time,1) i+=1 time.sleep(self.interval) def pause(self): self.thread_stop = True def zero(self): global i i=0
def time_manage(time_number): time_str=time:+str(time_number/60)+min +str(time_number%60)+s return time_str 三个command class,分别对应着上面提到的三个快捷键,这个对应关系可以在另外的keymap文件中定义,大家可以把整个项目clone下来就看到了。     (4)发布       如果你做好了一个个性插件想让更多的朋友使用的话可以试试以下两种途径。 1.可以给https://github.com/SublimeText发email 2.可以给https://github.com/wbond/package_control_channelpull issue(有一个文档,流程比较麻烦) 项目地址:https://github.com/jimenbian/sublime-timer(fork完别忘了给个star) 好了,看到这里大家应该已经对插件制作有些了解了,动起手来吧!

/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/


微信小程序的基础教程 微信小程序的基础教程是什么?微信小程序的基础教程的步骤是什么: 1.了解自己企业的微信小程序制作的需求 2.确认需求和预算,找合适的第三方微信小程序制作平台 3.确定微信小程序页面的设计方案 4.结合微信小程序的设计方案和功能需求完成制作 5.微信小程序测试 6.微信小程序账号的申请 7.将微信小程序账号绑定在做好的微信小程序上 8.发布上线微信小程序正式版 9.及时观察微信小程序数据和日常维护
【微信小程序开发小白零基础入门】微信小程序框架演示【建议收藏】 微信小程序框架演示文章目录微信小程序框架演示一、容器属性1.flex-direction的用法2.flex-wrap的用法4.align-items的用法5.align-content的用法二、项目属性1.order的用法2.flex-shrink的用法3.flex-grow的用法4.flex-basis的用法5.flex-self的用法三、推荐小程序(欢迎各位大佬指导)一、容器属性1.flex-direction的用法flex-direction.wxml view "feed-item-img" target="_blank" href="https://developer.aliyun.com/article/883019">
微信小程序开发实践入门教程 在去年2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线 。时至今日,小程序已经有整整一年时间了 。在2017年12月28日,微信更新的 6.6.1 版本开放了小游戏,「跳一跳」小游戏在那一晚彻底火了。由于微信的流量庞大,所以很多开发者看好小程序,我也不例外 。
这段时间在做的东西,是北邮人论坛APP的注册页。这个注册页是内嵌的网页,因为打算安卓和IOS平台同时使用。因此实际上就是在做移动端的web开发了。
傲海 著有《机器学习实践应用》,阿里云机器学习PAI产品经理,个人微信公众号 ldquo;凡人机器学习 rdquo;。