最近写了一个lua智能提示的插件LuaSmartTips。这个插件一直都是自己一个人在用,昨天突然想把插件提交到Package Control,如果其他的人有这样的需求就可以直接安装。

Package Control网站上已经给出了很详细的提交步骤,不过是英文版的,英语好的可以直接读Submitting a Package

下面主要介绍一下针对于代码托管在Github上面的插件提交。

1.审查现有的插件

访问Search Page寻找类似的插件。作者建议如果有可以改善的插件的话,尽可能的和插件的原作者进行沟通,尽量不要去新增一个。

2.选择一个名字

名字中不要带单词sublime,不要使用太接近的名字,不要使用符号。

3.代码托管

代码托管有很多种方式,这里推荐使用Github,注意目录结构,确保Github根目录就是你插件的根目录。

4.版本控制

在Github你的插件项目中,建立一个Tag,tag的名字是你的版本号,规则遵从http://semver.org/

5.检查你的插件

删掉所有的.pyc文件,插件加载时会自动生成这些文件。

删掉package-metadata.json,这是插件安装后自动生成的。

检查文件命名

如果有使用第三方库,在.sublime-package这个文件中说明。

6.测试你的插件

提交到Package Control之前,我们要先测试一下,保证提交的内容符合作者的想法。

fork Package Control Channel,并clone到你的机器上。使用Sublime Text打开这个文件夹。

repository/是插件的配置信息,按照首字母分为不同的文件保存,把你的插件信息放在对应的位置

{
"name": "Alignment",
"details": "https://github.com/wbond/sublime_alignment",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
}

7.增加平台信息

如果插件只支持os x和linux就这样写

{
"name": "Alignment",
"details": "https://github.com/wbond/sublime_alignment",
"releases": [
{
"sublime_text": "*",
"platforms": ["osx", "linux"],
"tags": true
}
]
}

如果插件只支持windows就这样写

{
"name": "Alignment",
"details": "https://github.com/wbond/sublime_alignment",
"releases": [
{
"sublime_text": "*",
"platforms": ["windows"],
"tags": true
}
]
}

8.执行测试

用Package Control安装 ChannelRepositoryTools插件。

然后执行ChannelRepositoryTools: Test Default Channel command。windows 下ctrl + shift + p 可以找到ChannelRepositoryTools: Test Default Channel command。

这里可能会有一些错误信息,可能是你的插件位置放的不对,也可能是语法有错误。修改你的代码直到没有报错,这样插件就测试完成了。

9.Pull Request

然后就是最后一步了,把你修改后的Package Control Channel文件Pull到作者那里,等待作者审核。

提交Sublime Text 插件到Package Control的更多相关文章

  1. Sublime text 3 中Package Control 的安装与使用方法和解决Sublime Text 3不能正确显示中文的问题

    Sublime text 3 中Package Control 的安装与使用方法,英文好可以在这个网址看看, 下面简单的说明一下 : https://packagecontrol.io/install ...

  2. Sublime Text 3安装Package Control快速建立html5和xhtml文档

    Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...

  3. Sublime Text 2 安装Package Control和插件的两种方法

    缘起 前几天系统刚刚还原了,重装完Sublime Text2再安装插件的时候可能是由于公司的网络环境的问题,各种报错,将解决方法记录下来.系统环境:Win7 x64 + Sublime Text2. ...

  4. Sublime Text 3 无法使用package control安装插件解决办法

    Crossing's Blog NOT Genius but Try Best 首页 分类 关于 归档 标签 问题貌似出现在liveStyle版本更新之后,因为打算安装javascript next和 ...

  5. sublime text 3和sublime text 2的 package control 插件 代码

    SECURITY NOTICE: The Python code used by this method does not use SSL because Sublime Text on Linux ...

  6. Sublime Text 3安装Package Control并安装Processing插件

    由于PDE编辑界面对中文的支撑太差,于是想换到ST3来编辑代码,结果导致了噩梦的开始. 首先,找不到“Package Control”!!! 这还怎么玩~ 于是打开http://packagecont ...

  7. sublime text 3安装 package control 插件的方法

    自动安装的方法 - 快捷键ctrl+` 或者View->Show Console,输入如下代码 import  urllib.request,os;pf='Package Control.sub ...

  8. Sublime Text 3 安装 Package Control

    1.打开sublime text 3 2.Ctrl+`打开控制台或者View->Show Console菜单打开命令行,输入下面这段代码后按Enter键 import urllib.reques ...

  9. Sublime text 3 中Package Control 的安装与使用方法

    Package Control插件本身是一个为了方便管理插件的插件,在Sublime text 3中,Package Control 的安装方法一开始出来的方法是要先安装Git, 再输入代码来安装,原 ...

随机推荐

  1. Bootstrap每天必学之导航条

    http://www.jb51.net/article/75534.htm Bootstrap每天必学之导航条,本文向大家讲解了多种多样的导航条,以及导航条中元素的实现方法,感兴趣的小伙伴们可以参考一 ...

  2. C++风格写判断某年某月某日是一年的第几天

    初学C++,在结构体中写函数及一些C++语言需要的一些格式 看代码 #include<iostream>#include<cstdio>using namespace std; ...

  3. Mongoose与bluebird结合使用实例

    nodejs的所有调用几乎是全异步的,而所有的IO操作也都是通过回调函数才能知道结果. 如果一个异步调用依赖另一个异步调用,如果没有Promise的话,有可能陷入传说中的回调地狱. bluebird实 ...

  4. ajax数据交互(arcgis server)

    通过ajax来调用服务器map数据,来实现搜索功能. 效果: 1.我要搜索下中国移动的地理信息: 2.会搜出17条消息,然后把他们分页显示,一页6条: 3.每一页的6天数据,会在map生成一个6条ma ...

  5. 浅谈js代码规范

    要放假了  后天就可以 回家,心里很高兴,忙里偷闲写篇博客吧!!!! 声明:这是我自己总结的,如果有不对的地方请大家不要较真 一 .变量声明 对所有的变量声明,我们都应该指定var,如果没有指定var ...

  6. Javaweb阶段知识回顾一

    java基础增强 一.jdk1.5的新特性 自动封箱拆箱 封箱:Java自动将原始类型值转换成对应的对象,如将int的变量转换成Integer对象 拆箱:自动将对应的对象转换成原始类型值,将Integ ...

  7. 基于Casperjs的网页抓取技术【抓取豆瓣信息网络爬虫实战示例】

    CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Ge ...

  8. ECMAScript 6 笔记(六)

    编程风格 1. 块级作用域 (1)let 取代 var (2)全局常量和线程安全 在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量. const优于le ...

  9. PHP变量处理之serialize

    官方定义: string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方.这有利于存储或传递 P ...

  10. 前端基本知识(一):W3C标准&&冒泡事件,捕获事件,W3C DOM对象模型,对比分析

    W3C标准是万维网联盟, 其他的可以参考万维网版本的更新内容 一.W3C标准 二.W3C DOM事件 三.冒泡事件 四.捕获事件 一.W3C标准 其实网页是由三分部组成:1.结构(structure) ...