这个项目是一个类似于wox的快捷启动器。
项目使用python2.7构建,依赖了PySide2
、Apscheduler
、requests
三个第三方库,需要使用pip
进行安装。
1.translation action 是基于百度的api开发的,所以需要在secret_config中进行相关的api配置 2.everything plugin 是基于everything开发的,所以在使用时需要先打开everything软件,否则无法搜索到文件
插件主要分为两类:plugin
和action
首先在plugins
文件夹下建一个你插件名称的带有__init__.py文件的python包,
然后在包中的__init__.py
文件写入入口类:
from core import register
from core.plugin_base import AbstractPlugin
from result_item import ResultItem
@register # 文件中可以写入多个类,但是使用register装饰器装饰过的类会被当做插件进行加载
class EverythingPlugin(AbstractPlugin): # 插件需要继承AbstractPlugin父类
title = u'搜索文件' # 插件的名称(必填)
description = u'需要打开everthing才能使用' # 插件的描述(必填)
keyword = 'find' # 插件的关键字(必填)
icon = '' # 插件对应的图标路径(选填),使用相对路径即可,比如这个包下面的img放了对应的图标icon.png,只需要写做 icon = 'img/icon.png'
shortcut = '' # 插件对应的快捷键 (选填)
def run(self, text, result_item, plugin_by_keyword):
"""
必须实现的方法,这个方法会在line edit回车或者下拉列表被点击时执行
Args:
text: line edit中的文字会按空格分成两个部分,text 就是空格后面的部分,比如cd python,那么text的值就是python
result_item: 当前选中的下拉列表中的item
plugin_by_keyword: 关键字和插件对象所组成的字典
Returns: 这里只能返回两种情况,一种是什么也不返回,一种是返回ResultItem列表,返回ResultItem列表会被展示到下拉菜单中
"""
pass
def query(self, text):
"""
非必须实现的方法,这个方法会在line edit文字修改时(textChanged)触发
Args:
text: ine edit中的文字会按空格分成两个部分,text 就是空格后面的部分,比如cd python,那么text的值就是python
Returns: 这里只能返回两种情况,一种是什么也不返回,一种是返回ResultItem列表,返回ResultItem列表会被展示到下拉菜单中
"""
pass
首先在actions
文件夹下建一个你插件名称的带有__init__.py文件的python包,
然后在包中的__init__.py
文件写入入口类:
from core import register
from core.action_base import AbstractAction, TEXT
@register
class TranslationAction(AbstractAction):
title = '' # 插件名称(必填)
description = '' # 插件描述(必填)
action_types = [] # 插件类型(必填),也就是当什么时候来显示这个插件,
# 这里分为4种,EMPTY(什么都不选)/TEXT(选中文字)/MULT_FILES(选中多个文件)/FILE(选中单个文件),
# 比如我的这个插件需要在什么都不选,或者选中文字的时候显示,那么action_types = [EMPTY, TEXT]
exts = [] # 处理什么类型后缀的文件(选填),这个选项只在action_types中设置了FILE的时候起作用
icon = '' # 插件对应的图标路径(选填),使用相对路径即可,比如这个包下面的img放了对应的图标icon.png,只需要写做 icon = 'img/icon.png'
def run(self, data):
"""
必须实现的方法,这个方法会在插件被点击时执行
Args:
data: 当什么也不选时,这个值为空;当选择文字时,这个值就是选中的文字;当选中文件时,这个值就是文件路径列表
"""
pass
Plugin TODO
- 添加网页搜索插件
- 添加执行cmd命令插件
- 添加截图插件
- 添加离线翻译插件
- 集成everything
- 日事清插件(支持定时任务)
- 添加打开路径插件
Action TODO
- 划词翻译
- 划词搜索
- 划词设置提醒
- 添加拾色插件