【自己动手】sublime text插件开发

今天是五四青年节,在此先祝大家节日快乐!!!

--------------------------------------------华丽的分界线---------------------------------------------------

从使用ST开始,就觉得使用起来很顺手,在加上各种各样的插件,做起开发来还真可以省不少事儿。以前做.net一直用vs,不过说实话vs是最好用的IDE,没有之一;现在呢,入了前端的行,用起vs总是觉得太过笨重,于是就用起了同事推荐的ST,从此哥开发js和php就全靠它了。

51放假的时候突发奇想,自己整个sublime
text的插件玩玩。之所有有这样的想法,主要是我们的项目使用seajs负责模块的划分和加载,这样一来新建的模块就必须按照seajs要求的格式来开发,格式如下:

下面就以生成一个这样的模板为例来带领大家对ST插件开发有个大致的了解

ST插件开发

参考资料:http://my.oschina.net/theforever/blog/136554,哥就是参考这篇文档照葫芦画瓢整出来的,有兴趣的朋友情拜读原文,现在就不废话了马上开始今天的主题

ST的api是基于python的,详情见http://www.sublimetext.com/docs/2/api_reference.html

没有用过python的同学别吓着了,哥也不会,但是在谷歌和百度的帮助下做出了这么一个插件

其实ST已经为我们开发插件准备了一些东西,Tools > 新插件 ST就会为什么创建好这样一个模板

看不懂没有关系,其实我也不懂,后面看完那篇文章才有了点儿似懂非懂的感觉。这是python的语法,以后再慢慢研究吧。

现在在
ST安装目录\Data\Packages(ST的插件都在此目录下)下新建一个文件用来保存即将开发的插件,目录如下

*seajs.py
插件的主要文件,插件的功能有它实现

*Default
(Windows).sublime-keymap  配置插件的快捷键

*Default.sublime-commands
配置命名,可以再ctrl+shift+p打开的命令窗口使用

*Main.sublime-menu
菜单配置,也就是给我们的插件一个菜单入口

这3个配置文件其实很简单,都是json文本,如果不会写可以从其他插件那里copy一个过来改改就行了,我们最主要的工作还是使用ST提供的api在py文件中实现我们想要的功能

功能描述:选中原有js内容或者内容为空,调用我们的插件,然后生成注释并包装成seajs要求的格式,同时会向右缩进

具体代码如下:


import sublime, sublime_plugin,time

class seajsCommand(sublime_plugin.TextCommand):
def run(self, edit):
#当前视图
view = self.view
#当前选择的区域
sels = view.sel()
selContent = ‘‘
if len(sels) > 0 :
#获取以一个选中区域
sels = sels[0]
#获取选中区域内容
regionStr = view.substr(sels)
#重新拼接字符串--前面插入一个tab
for s in regionStr.split(‘\n‘):
selContent += ‘\t‘ + s + ‘\n‘;
#剪切掉当前选中的内容
view.run_command(‘cut‘)
#获取当前时间
curtime = time.strftime(‘%Y-%m-%d %X‘,time.localtime(time.time()))
content = ‘/**\n * @athor #作者\n * @desc #描述\n * @date ‘ + curtime + ‘\n */\ndefine(function(require,exports,module){\n‘
content = content + ‘\t//代码开始,此处省略代码1W行\n‘
content = content + selContent;
content = content + ‘\t//代码结束\n‘
content = content + ‘\n});‘
view.insert(edit,0,content)
#清空剪切板
sublime.set_clipboard(‘‘)

最终效果:

以上通过一个简单的例子来记录ST插件的开发,一共也就花了不到3个小时,难免有所疏漏而且记录的比较简单,还望各位网友海涵。

需要的朋友请点击http://files.cnblogs.com/icewater506/seajs.zip


【自己动手】sublime text插件开发,布布扣,bubuko.com

时间: 2024-08-10 05:50:04

【自己动手】sublime text插件开发的相关文章

sublime text 插件开发

前言:术语和参考资料 sublime text 2的扩展模式相当的丰富.有多种方法可以修改语法高亮模式以及所有的菜单等.它还可以创建一个新的build系统,自动补全,语言定义,代码片段,宏定义,快捷键绑定,鼠标事件绑定和插件.所有这些都是通过文件构成的包来实现. 一 个包就是在'Packages'目录下的一个文件夹,可以通过Preferences > Browse Packages…菜单访打开改目录.也可以把一个包大包成一个zip文件,然后把扩展名改成.sublime-package.后面会有更

Sublime Text Snippets(代码片段)功能

我们在编写代码的时候,总会遇到一些需要反复使用的代码片段.这时候就需要反复的复制和黏贴,大大影响效率.我们利用Sublime Text的snippet功能,就能很好的解决这一问题.通俗的讲,就是把我们常用的代码分别保存起啦,然后通过插件的形式来反复调用. 创建方法:Tools > New Snippet 这时你会看到如下示例代码: 1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is a ${2:snippet}.

Windows下TeX Live + Sublime Text 3 + Sumatra PDF配置

本文写给我的师弟们,如何自己动手配置LaTeX环境(通过LeX Live + Sublime Text 3 + Sumatra PDF). 1.TeX Live 配置 首先从TeX Live 下载ISO镜像.这里不推荐在线安装的方式,即「installing TeX Live over the Internet」的方式,原因是中国的网络不好.网站给出了3种镜像下载的方式,分别为 1.download from a nearby CTAN mirror: 2.manually choose a m

[开发工具]_[Sublime Text 2]_[配置C++编译运行环境]

场景: 1. g++的版本更新比较快,可以使用最新的C++11特性, 这里sublime text 2是我的轻量级C++开发工具(只有这个),可以使用st2这种工具来验证一些语法新特性. 2. st2的好处是免费, 还有支持多语言的语法高亮和函数outline 3. 当然st2也支持插件开发. 4. 给sublime text 2添加选中文件右键打开看这里: http://blog.csdn.net/infoworld/article/details/18771731 步骤 配置C++编译选项

Vue.js 入门指南之“前传”(含sublime text 3 配置)

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

Sublime Text 3118 插件集成定制汉化方案--赵亮(碧海情天)

Sublime Text 3118 插件集成定制汉化方案–赵亮(碧海情天) 原创内容,转载请保留原作者完整姓名信息 前言 一晃,离最开始为Sublime Text写汉化和插件开发与发布的教程 http://blog.csdn.net/theforever/article/details/8962727,都已经过去三年了.这其间,我又写过几篇具体介绍自己汉化定制的Sublime Text从3056到3061的递进式方案,大家可以参考: http://my.oschina.net/theforeve

学会了 Vim 还有必要用 GitHub Atom 或者 Sublime Text 么?

亦俊 ,90后,Vim 专栏作者 563 人赞同 Vim 知乎专栏:http://zhuanlan.zhihu.com/hack-vim 用过 [ Visual Studio 2015 ] [ Sublime Text 3 ] [ WebStorm 9 ] [ IDEA 14 ] [ atom ](这货尼玛有很多BUG!)等等编辑器. 我想说,只有Emacs 和 Vim 最适合我..学会Vim 之后我几乎不想换其他任何编辑器(Emacs除外,来烧死我吧),目前在玩Vim.(由于是做Web开发,

如何在Sublime Text中添加代码片段

我们在编写代码的时候,总会遇到一些需要反复使用的代码片段.这时候就需要反复的复制和黏贴,大大影响效率.我们利用Sublime Text的snippet(代码片段)功能,就能很好的解决这一问题.通俗的讲,就是把我们常用的代码分别保存起啦,然后通过插件的形式来反复调用. 创建方法:Tools (工具)> New Snippet(新片段) 此时,会出现如下代码: <snippet> <content><![CDATA[ Hello, ${1:this} is a ${2:sn

Go语言环境配置 Sublime Text + GoSublime+ gocode + MarGo组合

买来<Go Web编程>一书学习Go语言,结果按照书中的步骤搭建,发现部分站点已经失效了,查了网上好多教程也没有人能够说清楚如何搭建.还是自己动手找方法吧,经过自己的不懈努力终于搭建好了.ps:没有google的日子太难受了,查资料各种不方便,平时基本不翻墙,所以...... 1.下载安装go,今天安装go的时候发现go官网打不开,在网上找各种go下载地址无果,不过还是在不经意间发现了一个下载地址,希望你看到这篇文章时还能下载.我的机器是64位windows8,找个可用的msi太费劲了.附地址