最近写了一个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. iOS 之 NSUserDefault

    1. 概念 NSUserDefaults是一种特殊的property list.是系统封装的属性列表,方便记录简单的数据. 2. 使用说明 2.1. 创建NSUserDefaults NSUserDe ...

  2. bootstrap的alert提示框的关闭后再显示问题

    bootstrap中有alert组件,如果点击关闭按钮后该组件会被删除而不是被隐藏,想再显示怎么办呢? bootstrap-alert.js源码片段: function removeElement() ...

  3. C++设计模式——抽象工厂模式

    问题描述 之前讲到了C++设计模式——工厂方法模式,我们可能会想到,后期产品会越来越多了,建立的工厂也会越来越多,工厂进行了增长,工厂变的凌乱而难于管理:由于工厂方法模式创建的对象都是继承于Produ ...

  4. Java Swing paint repaint update 方法的关系

    Java Swing paint repaint update 方法的关系: 参考:http://blog.csdn.net/xiaoliangmeiny/article/details/691665 ...

  5. spring mvc在Controller中获取ApplicationContext

    spring mvc在Controller中获取ApplicationContext web.xml中进行正常的beans.xml和spring-mvc.xml的配置: 需要在beans.xml中进行 ...

  6. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  7. quick-cocos2d-x添加到Pomelo的支持

    https://github.com/luoxinliang/pomelo_quick_x/tree/master/pomelo_quick_x

  8. 黑客常用的windows注册表大全

    目录 使系统没有"运行"选项                        1让操作系统无"关闭系统" 选项                    2让操作系统 ...

  9. iOS 获取公历、农历日期的年月日

    iOS 获取公历.农历日期的年月日 介绍三种方法获取 Date (NSDate) 的年月日. 用 date 表示当前日期.测试日期为公历 2017 年 2 月 5 日,农历丁酉年,鸡年,正月初九. l ...

  10. TimSort in Java 8

    在项目中使用了Collections.sort(list, comparator)对集合进行了排序,偶然间遇到异常IllegalArgumentException: "Comparison ...