Sublime Text 开发插件

最近看到异次元推荐的代码编辑器Sublime Text2,感觉超好用,而且还有很多插件。不仅如此,还可以自己写个小插件。看到有人写了可以插入时间的小插件,于是想写一个可以插入代码文件头的小插件。在用eclipse和pycharm中可以在新建文件的头部加上作者和创建时间等信息。而在sublime中也想有这样的功能,没找到使用方法,于是自然想到自己写。sublime的插件开发是基于Python的,写起来很方便。另附上Sublime Text不完全使用手册的传送门。

sublime插件开发的方法还可以参考:

http://www.welefen.com/how-to-develop-sublime-text-plugin.html

http://www.cnblogs.com/Lvkun/archive/2012/03/28/plugin-eval-sel.html

 

1. 在菜单栏的Tools下有New Plugin,点击后就会给出一个可以往编辑器插入hello world的小插件。

2. 写好自己的插件代码,代码就不过多解释了,可以参考sublime的API。具体功能是可以记录文件创建时间和更新时间。

 1 #-*- encoding: utf-8 -*-
 2 '''
 3 Created on 2013-01-07 22:05:01
 4 
 5 @author: Neil
 6 '''
 7 
 8 import sublime, sublime_plugin, datetime
 9 
10 class insertSignatureCommand(sublime_plugin.TextCommand):
11     def run(self, edit):
12         date = datetime.datetime.now()
13         dateStr = date.strftime("%Y-%m-%d %X")
14         text_encode = """#-*- encoding: utf-8 -*-\n'''\n"""
15         text_author = """\n\n@author: Neil\n'''\n"""
16         text = text_encode + 'Created on ' + dateStr + text_author
17 
18         #for region in the selection
19         #一个region是一个选择块,一次可以选择多个块
20         for r in self.view.sel():
21             str_r = self.view.substr(r)#str_r是所选择块的文本内容
22             if 'Created on ' in str_r:
23                 if 'Updated on ' in str_r:
24                     text = str_r[0:str_r.find('Updated on ')] + 'Updated on ' + dateStr + text_author
25                 else:
26                     text = str_r.replace(text_author, '\nUpdated on ' + dateStr + text_author)
27             self.view.erase(edit, r)
28             self.view.insert(edit, r.begin(), text)

3.保存文件时,默认会让选择保存在“...\Sublime Text 2\Packages\User\” 文件夹下,取好文件名insert_signature.py,会发现保存后会自动生成insert_signature.pyc。

按下快捷键Ctrl + ‘ 打开SublimeText的控制台,执行如下命令就可以运行刚刚写的小插件:

view.run_command('insert_signature')

4.为了能够用快捷键来运行,需要额外设置快捷键映射文件,Default (Windows).sublime-keymap,Default (Linux).sublime-keymap,Default (OSX).sublime-keymap

分别对应不同的平台,最好是都输入快捷键的映射。这些文件与insert_signature.py保存在同以目录。就windows而言,在Default (Windows).sublime-keymap中输入

[
    {
        "keys": ["ctrl+f7"], "command": "insert_signature",
        "args": {}
    }
]

以后只要按下ctrl + F7就可以自动插入文件头部内容了。插入时可以先选择以前插入的内容,然后按下Ctrl + F7,就可以添加或更新文件的更新时间了。

 

 

转载于:https://www.cnblogs.com/restran/archive/2013/01/07/2850254.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当初装sublime的时候在csdn上没找到比较好的插件合集 费了一点功夫自己整合了一下 该集合包括了多种常用插件emmet jsFormat git相关 以及css和php js jquery html5等语言的支持增强插件等 已安装utf8和gbk插件 完美支持中文输入 包含codeIntel和cTags Filediff 侧边栏增强等一系列插件方便开发使用 此外收集了网上的5套主题 多达40几种配色方案 支持自定义外观 默认主题为扁平化flatland 预览:http://lucifr.com/2013/04/12/flatland-theme-for-sublime-text-2/ 请阅读链接中的主题替换方法 以便之后完整替换主题 安装方法: 1.sublime text3版本: 打开sublime text3 依次点击工具栏中的preference->browse packages 到一个类似C:\Users\Adiministor\AppData\Roaming\Sublime Text 3\Packages 的目录 转到向上一级 C:\Users\Adiministor\AppData\Roaming\Sublime Text 3 下 把压缩包中的4个文件夹解压到这个路径覆盖即可 若有自己已定义的内容请先备份 之后再把自己的东西覆盖回去 2.sublime text2版本: 测试过sublime text2 同样通过上述方法可以到相应的路径中 (可能是C:\Users\Adiministor\AppData\Roaming\Sublime Text 2) 然后把压缩包中文件夹解压到C:\Users\Adiministor\AppData\Roaming\Sublime Text 2覆盖 接下来 最重要的一步!! 是到 C:\Users\Adiministor\AppData\Roaming\Sublime Text 2\Packages\User 这个路径下 把Default (Windows).sublime-keymap这个文件的内容全部删掉 或者只保留[]这两个符号 (这里面定义了一些系统默认快捷键 可能是sublime text2只支持32位? 如果不删除的话会导致st2无法启动) 我还是很懒的 喜欢把一些插件集合起来用 但是具体还是要看个人的需求吧 通过package control有太多的插件可供安装 希望这个插件集合能给大家带来一点小便利 方便刚装sublime text的用户哈

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值