API Reference

General Information

Core Components

Plugin Extension Points

一般信息

示例插件

几个预先做好的插件配备了崇高的文字,你可以在其中找到默认套餐:

插件生命周期

在进口的时候,插件可能不会调用任何API函数,以除外sublime.version() ,sublime.platform() ,sublime.architecture()和sublime.channel() 。

如果插件定义了一个模块级的功能plugin_loaded() ,当API准备用这个会被调用。插件也可以定义plugin_unloaded() ,得到通知的插件卸载之前。

线程

所有API函数都是线程安全的,但是请记住,从代码运行在替代线程的角度来看,应用程序状态将在代码运行时改变。

类型

本文档通常指的是简单的Python数据类型。一些类型名称是本文中记录的类,但也有一些自定义类型名称引用具有特定语义的构造:

sublime 模块

方法 返回值 说明
set_timeout(callback,delay) 没有 运行回调给定后,在主线程中的延迟(以毫秒为单位)。具有相等延迟的回调将按照它们添加的顺序运行。
set_timeout_async(callback,delay) 没有 运行回调给定后备用线程的延迟(以毫秒为单位)。
error_message(string) 没有 向用户显示错误对话框。
message_dialog(string) 没有 向用户显示消息对话框。
ok_cancel_dialog(string,<ok_title>) bool 向用户显示确定/取消问题对话框。如果ok_title提供,这可以用作确定按钮的文本。返回真如果用户按下OK按钮。
yes_no_cancel_dialog(string,<yes_title>,<no_title>) int 向用户显示是/否/取消问题对话框。如果yes_title和/或no_title被提供,它们将被用作在一些平台上的相应按钮的文本。返回sublime.DIALOG_YES,sublime.DIALOG_NO或sublime.DIALOG_CANCEL。
load_resource(name) str 加载给定资源。该名称应该是格式的软件包/默认/ Main.sublime菜单。
load_binary_resource(name) 字节 加载给定资源。该名称应该是格式的软件包/默认/ Main.sublime菜单。
find_resources(pattern) [str] 查找资源的文件名给定的匹配模式。
encode_value(value,<pretty>) str 编码JSON兼容的值转换为字符串表示。如果漂亮设置为真,该字符串将包括新行和缩进。
decode_value(string) 将JSON字符串解析为对象。如果字符串是无效的,一个ValueError异常将被抛出。
expand_variables(value,variables) 扩展在字符串中的任何变量的值,用在字典中定义的变量变量。值也可以是列表或字典,在这种情况下的结构进行递归扩展。字符串应使用代码段语法,例如:expand_variables("Hello, ${name}", {"name": "Foo"})
load_settings(base_name) 设置 加载指定的设置。名称应包括文件名和扩展名,而不是路径。该软件包将被查找匹配的文件BASE_NAME,并进入设置对象的结果将被整理。到后续调用load_settings()与BASE_NAME将返回相同的对象,而不是再次从磁盘加载设置。
save_settings(base_name) 没有 将任何内存中的更改刷新到磁盘的指定设置对象。
视窗() 窗口 ] 返回所有打开的窗口的列表。
active_window() 窗口 返回最近使用的窗口。
packages_path() str 返回所有用户的松散包所在的路径。
installed_pa​​ckages_path() str 返回将所有用户的路径.sublime包文件的位置。
cache_path() str 返回Sublime Text存储高速缓存文件的路径。
get_clipboard(<size_limit>) str 返回剪贴板的内容。SIZE_LIMIT有防止不必要的大数据,默认值16 777 216字
set_clipboard(string) 没有 设置剪贴板的内容。
score_selector(scope,selector) int 匹配选择对给定的范围,返回一个分数。的比分0表示不匹配,上面0意味着比赛。可以对同一范围比较不同的选择器:较高的分数意味着选择器是范围的更好匹配。
run_command(string,<args>) 没有 运行名为ApplicationCommand与(可选)给出ARGS。
log_commands(flag) 没有 控制命令日志。如果启用,所有命令从键绑定运行,菜单将记录到控制台。
log_input(flag) 没有 控制输入​​日志记录。如果启用,所有按键将被记录到控制台。
log_result_regex(flag) 没有 控制结果正则表达式记录。这对于调试构建系统中使用的正则表达式很有用。
版() str 返回版本号
平台() str 返回平台,其可以是“OSX” ,为“linux”或“窗口”
拱() str 返回CPU架构,其可以是“的32倍”或“64”

sublime.View 类

将视图表示为文本缓冲区。注意,多个视图可以引用相同的缓冲区,但是它们具有它们自己的唯一选择和几何。

方法 返回值 说明
ID() int 返回唯一标识此视图的数字。
buffer_id() int 返回唯一标识此视图下的缓冲区的数字。
is_primary() bool 如果视图是进入文件的主视图。将只假如果用户已经打开了多个视图到文件中。
文件名() str 完整的文件的文件名与缓冲区,或相关的文件无如果在磁盘上不存在。
名称() str 分配给缓冲区的名称(如果有)
set_name(name) 没有 为缓冲区分配名称
is_loading() bool 返回真如果缓冲区仍然磁盘加载,并且不准备使用。
is_dirty() bool 返回真,如果有任何未保存的缓冲区修改。
is_read_only() bool 返回真如果缓冲区不得修改。
set_read_only(value) 没有 设置缓冲区上的只读属性。
is_scratch() bool 返回真如果缓冲区是一个临时缓冲区。暂存缓冲区从不报告为脏。
set_scratch(value) 没有 设置缓冲区上的scratch属性。
设置() 设置 返回对视图的设置对象的引用。对此设置对象的任何更改将对此视图为私有。
窗口() 窗口 返回对包含视图的窗口的引用。
run_command(string,<args>) 没有 运行名为TextCommand与(可选)给出ARGS。
尺寸() int 返回文件中的字符数。
substr(region) str 返回的内容区域为一个字符串。
substr(点) str 返回字符的右边点。
插入(编辑,点,字符串) int 插入给定的字符串在指定的缓冲点。返回插入的字符数:如果将标签翻译为当前缓冲区中的空格,则可能会有所不同。
擦除(编辑,区域) 没有 擦除的内容区域从缓冲器。
替换(编辑,区域,字符串) 没有 替换的内容区域与给定的字符串。
sel() 选择 返回对选择的引用。
线(点) 地区 返回包含行点。
线(区域) 地区 返回的一个修改后的副本区域,使得其开始于一个行的开始,并在一行结束时结束。注意,它可以跨越几行。
full_line(point) 地区 如线()的,但该区域包括尾随换行符,如果有的话。
full_line(region) 地区 如线()的,但该区域包括尾随换行符,如果有的话。
线(区域) 区域 ] 返回线相交的列表(按照排序顺序)区域。
split_by_newlines(region) 区域 ] 分割区域了,这样每个区域正好返回一行上存在。
字(点) 地区 返回包含单词点。
字(区域) 地区 返回的一个修改后的副本区域,使得其开始于一个词的开始,和在一单词的结尾结束。注意,它可以跨越几个单词。
分类(点) int

分类点,退回或者零个或多个这些标志的按位:

  • sublime.CLASS_WORD_START
  • sublime.CLASS_WORD_END
  • sublime.CLASS_PUNCTUATION_START
  • sublime.CLASS_PUNCTUATION_END
  • sublime.CLASS_SUB_WORD_START
  • sublime.CLASS_SUB_WORD_END
  • sublime.CLASS_LINE_START
  • sublime.CLASS_LINE_END
  • sublime.CLASS_EMPTY_LINE
find_by_class(point,forward,classes,<separator>) 地区 后发现的下一个位置点匹配给定的类。如果前锋是假,向后搜索,而不是向前。类是按位的ORsublime.CLASS_XXX标志。分隔符可以传递的,确定应考虑哪些字符分隔单词。
expand_by_class(point,classes,<separator>) 地区 扩展点到左和右,直到匹配的位置每一侧土地类。类是按位的OR sublime.CLASS_XXX标志。分隔符可以传入,以定义应该考虑什么字符来分隔单词。
expand_by_class(region,classes,<separator>) 地区 扩展区域的左侧和右侧,直到匹配的位置每一侧土地类。类是按位的OR sublime.CLASS_XXX标志。分隔符可以传递的,确定应考虑哪些字符分隔单词。
find(pattern,start_point,<flags>) 地区 返回第一个区域相匹配的正则表达式模式,启动start_point,或无,如果它不能被发现。可选的标志参数可以是sublime.LITERAL,sublime.IGNORECASE,或两者或运算在一起。
find_all(pattern,<flags>,<format>,<extractions>) 区域 ] 返回正则表达式匹配所有(非重叠)的区域格局。可选的标志参数可以是sublime.LITERAL,sublime.IGNORECASE,或两者或运算在一起。如果格式字符串给出,那么所有的比赛将与格式化字符串格式化并放入提取列表中。
rowcol(point) (int,int) 计算的基于0的行和列数点。
text_point(row,col) int 计算字符的给定的,基于0的偏移排和山坳。注意,COL被解释为字符数以向前越过该行的开头。
set_syntax_file(syntax_file) 没有 更改视图使用的语法。syntax_file应该是大致相同的名称包/ Python的/ Python.tmLanguage。检索当前的语法,使用view.settings().get('syntax')。
extract_scope(point) 地区 返回在给定分配给字符的语法范围名称的程度点。
scope_name(point) str 返回在给定的分配给角色语法范围名点。
match_selector(point,selector) bool 检查选择器针对在给定的范围点,返回一个布尔它们是否匹配。
score_selector(point,selector) int 匹配选择对给定范围点,返回的得分。的比分0表示不匹配,上面0意味着比赛。可以对同一范围比较不同的选择器:较高的分数意味着选择器是范围的更好匹配。
find_by_selector(selector) 区域 ] 查找文件中的所有区域匹配给定选择,返回它们作为一个列表。
show(location,<show_surrounds>) 没有 滚动视图来显示给定的位置,其可以是一个区域选择
show_at_center(位置) 没有 滚动视图居中的位置,其可以是一个区域
visible_region() 地区 返回视图的当前可见区域。
viewport_position() 向量 返回布局坐标中视口的偏移量。
set_viewport_position(vector,<animate <) 没有 将视口滚动到给定的布局位置。
viewport_extent() 向量 返回视口的宽度和高度。
layout_extent() 向量 返回布局的宽度和高度。
text_to_layout(point) 向量 将文本位置转换为布局位置
layout_to_text(vector) 将布局位置转换为文本位置
window_to_layout(vector) 向量 将窗口位置转换为布局位置
window_to_text(vector) 将窗口位置转换为文本位置
line_height() 浮动 返回布局中使用的灯光高度
em_width() 浮动 返回布局中使用的典型字符宽度
add_regions(key,[regions],<scope>,<icon>,<flags>) 没有

添加了一组区域的观点。如果一组地区已经给定存在的关键,他们将被覆盖。的范围被用于源颜色来绘制区域中,它应该是一个范围的名称,如“注释”或“串”。如果范围是空的,区域将不被绘制。

可选的图标名称,如果有,会画在阴沟命名图标旁边的每个区域。该图标将使用与范围相关的颜色进行着色。有效图标名称是点,圈,书签和交叉。该图标的名称也可以是全包的相对路径,如包/主题-默认/ dot.png。

可选的标志参数是按位组合:

  • sublime.DRAW_EMPTY:绘制空区用竖线。默认情况下,它们不会绘制。
  • sublime.HIDE_ON_MINIMAP:不显示在小地图上的区域。
  • sublime.DRAW_EMPTY_AS_OVERWRITE:绘制空地区拥有了单杠,而不是垂直的。
  • sublime.DRAW_NO_FILL:禁用填充的区域,只留下轮廓。
  • sublime.DRAW_NO_OUTLINE:禁用绘制区域的轮廓。
  • sublime.DRAW_SOLID_UNDERLINE:绘制区域下方实下划线。
  • sublime.DRAW_STIPPLED_UNDERLINE:绘制区域下方的点画下划线。
  • sublime.DRAW_SQUIGGLY_UNDERLINE:画一个波浪下划线的区域的下方。
  • sublime.PERSISTENT:保存地区的会话。
  • sublime.HIDDEN:不要画的区域。

下划线样式是独占的,应该给出零个或一个。如果使用下划线,sublime.DRAW_NO_FILL和sublime.DRAW_NO_OUTLINE一般应传递。

get_regions(key) 区域 ] 返回与给定关联的区域键,如果有的话
erase_regions(key) 没有 删除了命名区域
set_status(key,value) 没有 添加状态键到视图。该值将显示在状态栏,以逗号分隔的所有状态值的列表,按键进行排序。设定值为空字符串将清除状态。
get_status(key) str 返回与关联先前指定的值的关键,如果任何。
erase_status(key) 没有 清除命名状态。
command_history(index,<modification_only>) (str,dict,int)

返回存储在undo / redo堆栈中的给定历史记录条目的命令名称,命令参数和重复计数。

索引0对应于最近的命令,-1之前的命令,等等。索引的正值表示在重做堆栈中查找命令。如果撤销/重做历史并没有延伸得足够远,那么(无,无,0)将被退回。

设置modifying_only为真(默认为假)将只返回修改缓冲区条目。

change_count() int 返回当前更改计数。每次修改缓冲区时,增量更改计数。更改计数可用于确定自上次检查后缓冲区是否已更改。
fold([regions]) bool 折叠给定的区域,返回假,如果他们已经折
折叠(区域) bool 折叠给定的区域,返回假,如果它已经被折叠
展开(区域) 区域 ] 展现在所有文本区域,返回区域展开
展开([regions]) 区域 ] 展现在所有文本区域,返回区域展开
encoding() str 返回当前与文件关联的编码
set_encoding(encoding) 没有 对文件应用新的编码。此编码将在下次保存文件时使用。
line_endings() str 返回当前文件使用的行尾。
set_line_endings(line_endings) 没有 设置下次保存时将应用的行结束。
overwrite_status() bool 返回覆盖状态,用户通常通过插入键切换。
set_overwrite_status(enabled) 没有 设置覆盖状态。
符号() [(,海峡) 提取缓冲区中定义的所有符号。
show_popup_menu(items,on_done,<flags>) 没有

在插入符处显示弹出式菜单,以选择列表中的项目。on_done将被调用一次,所选项目的索引。如果弹出菜单被取消,on_done将与一个参数被称为-1。

项是字符串的列表。

标志是当前未使用。

show_popup(content,<flags>,<location>,<max_width>,<max_height>,<on_navigate>,<on_hide>) 没有

显示显示HTML内容的弹出窗口。

标志是以下的按位组合:

  • sublime.COOPERATE_WITH_AUTO_COMPLETE。导致弹出窗口显示在自动完成菜单旁边
  • sublime.HIDE_ON_MOUSE_MOVE。当鼠标移动,点击或滚动时,导致弹出窗口隐藏
  • sublime.HIDE_ON_MOUSE_MOVE_AWAY。当鼠标移动(除非朝向弹出窗口),或单击或滚动时,导致弹出窗口隐藏

默认位置的-1将显示在光标处弹出,否则文本点应该传递。

MAX_WIDTH和MAX_HEIGHT设置弹出窗口的最大尺寸,然后滚动条会显示出来。

on_navigate是应该接受的字符串内容的回调HREF用户点击了链接属性。

on_hide时弹出隐藏被调用。

update_popup(content) 没有 更新当前可见弹出窗口的内容。
is_popup_visible() bool 如果当前显示弹出式窗口,则返回。
hide_popup() 没有 隐藏弹出窗口。
is_auto_complete_visible() bool 如果自动完成菜单当前可见,则返回。

sublime.Selection 类

保持一组区域,确保没有重叠。区域按照排序顺序保存。

方法 返回值 说明
明确() 没有 删除所有区域。
add(region) 没有 添加指定的区域。它将与已经包含在集合内的任何相交区域合并。
add_all(regions) 没有 添加在给定的所有地区列表或元组。
减法(区域) 没有 减去区域从集中的所有地区。
contains(region) bool 返回真当且仅当给定的区域是一个子集。

sublime.Region 类

表示缓冲区的面积。空区域,其中a == b有效。

构造函数 说明
区域(a,b) 创建具有初始值a和b的区域。
属性 类型 说明
a int 区域的第一端。
b int 区域的第二端。可能小于a,在这种情况下,该区域是相反的。
xpos int 该地区的目标水平位置,或-1,如果不确定的。按下向上或向下键时的效果行为。
方法 返回值 说明
开始() int 返回a和b的最小值。
结束() int 返回a和b的最大值。
尺寸() int 返回由区域跨越的字符数。始终> = 0。
empty() bool 返回真当且仅当开始() == 端() 。
盖(区) 地区 返回横跨此区域和给定区域的区域。
交叉(区域) 地区 返回两个区域的集合交集。
交叉(区域) bool 返回真当且仅当自我== 区域或两者包括一个或多个共同的立场。
contains(region) bool 返回真当且仅当给定的区域是一个子集。
包含(点) bool 返回真当且仅当开始() <= 点 <= 结束() 。

sublime.Phantom 类

表示基于HTML的装饰,用于显示散布在视图中的不可编辑内容。与PhantomSet一起使用实际将幻像添加到视图。一旦Phantom被构造并添加到视图中,对属性的更改将不起作用。

构造函数 说明
Phantom(区域,内容,布局,<on_navigate>)

创建附加到一个假想区域。的内容是HTML以通过处理minihtml

布局必须之一:

  • sublime.LAYOUT_INLINE:显示幻象中的区域和点以下。
  • sublime.LAYOUT_BELOW:显示当前线下方空间幻象,用左对齐区域。
  • sublime.LAYOUT_BLOCK:显示当前线下方空间幻象,与行的开始左对齐。

on_navigate是一个可选的回调应该接受一个字符串参数,那就是HREF链路的属性点击。

sublime.PhantomSet 类

管理Phantoms的集合以及添加它们,更新它们以及从View中删除它们的过程。

构造函数 说明
PhantomSet(view,<key>) 创建附加到一个PhantomSet 视图。关键是一个字符串组幻影在一起。
方法 返回值 说明
更新(幻影) 没有

幻影应该是幻影的列表。

该.region组中的每个现有的幻影的属性将被更新。新幻影将被添加到视图和幻影不幻影列表将被删除。

sublime.Edit 类

编辑对象没有函数,它们存在来对缓冲区修改进行分组。

编辑对象传递给TextCommand秒,不能由用户来创建。使用无效的Edit对象或来自不同视图的Edit对象将导致需要它们的函数失败。

方法 返回值 说明
(无方法)

sublime.Window 类

方法 返回值 说明
ID() int 返回唯一标识此窗口的数字。
new_file() 查看 创建一个新文件。返回的视图将是空的,其is_loaded()方法将返回真。
open_file(file_name,<flags>) 查看

打开命名文件,并返回相应的视图。如果文件已经打开,它将被带到前面。请注意,文件加载是异步的,在返回的视图操作是不可能的,直到它的is_loading()方法返回假。

可选的标志参数是按位组合:

  • sublime.ENCODED_POSITION:表示FILE_NAME应搜索的:行或:行:山坳后缀
  • sublime.TRANSIENT:打开文件只是一个预览:它不会有一个标签分配,直到修改
find_open_file(file_name) 查看 在查找打开的文件列表中指定的文件,并返回相应的视图或无,如果没有这样的文件被打开。
active_view() 查看 返回当前编辑的视图。
active_view_in_group(group) 查看 返回给定在当前编辑视图组。
views() 查看 ] 返回窗口中所有打开的视图。
views_in_group(group) 查看 ] 返回给定的所有打开的视图组。
num_groups() int 返回窗口中的视图组数。
active_group() int 返回当前选定组的索引。
focus_group(group) 没有 使得在给定组活跃。
focus_view(view) 没有 切换到给定的观点。
get_view_index(view) (int,int) 返回该组的内的组,和索引视图。返回-1如果没有找到。
set_view_index(view,group,index) 没有 移动视图,以给定的基团和索引。
status_message(string) 没有 在状态栏中显示消息。
is_menu_visible() bool 返回真如果菜单是可见的。
set_menu_visible(flag) 没有 控制菜单是否可见。
is_sidebar_visible() bool 返回真如果在内容都可以在侧边栏将显示。
set_sidebar_visible(flag) 没有 设置当内容可用时要显示或隐藏的侧栏。
get_tabs_visible() bool 返回真,如果标签将显示为打开的文件。
set_tabs_visible(flag) 没有 控制是否显示打开文件的选项卡。
is_minimap_visible() bool 返回真如果启用了小地图。
set_minimap_visible(flag) 没有 控制小地图的可见性。
is_status_bar_visible() bool 返回真,如果将显示在状态栏。
set_status_bar_visible(flag) 没有 控制状态栏的可见性。
folders() [str] 返回当前打开的文件夹的列表。
project_file_name() str 返回当前打开的项目文件的名称(如果有)。
project_data() 命令 返回与当前窗口关联的项目数据。该数据是在相同的格式的内容.sublime项目文件。
set_project_data(data) 没有 更新与当前窗口关联的项目数据。如果窗口与一个相关联.sublime项目文件,项目文件将在磁盘上被更新,否则,窗口将内部存储的数据。
run_command(string,<args>) 没有 运行名为WindowCommand与(可选)给出ARGS。此方法能够运行任何类型的命令,通过输入焦点分派命令。
show_quick_panel(items,on_done,<flags>,<selected_index>,<on_highlighted>) 没有

显示快速面板,以在列表中选择项目。on_done将被调用一次,所选项目的索引。如果快速板被取消,on_done将与一个参数被称为-1。

物品可以是字符串的列表,或字符串列表的列表。在后一种情况下,快速面板中的每个条目将显示多个行。

标志是OR的按位sublime.MONOSPACE_FONT和sublime.KEEP_OPEN_ON_FOCUS_LOST

on_highlighted,如果给定的,都会被调用的快速面板突出显示的项目被改变的时间。

show_input_panel(标题,initial_text,on_done,on_change,on_cancel) 查看 显示输入面板,从用户收集一行输入。on_done和on_change,如果不是无,都应该是期待一个字符串参数的功能。on_cancel应该是没有预期到参数的函数。将返回用于输入小部件的视图。
create_output_panel(name,<unlisted>) 查看

返回与命名输出面板关联的视图,如果需要,可以创建它。输出面板可以通过运行显示show_panel窗口的命令,与面板设置为名称与参数“输出”。字首。

可选的非上市参数是一个布尔值来控制,如果输出面板应在面板切换上市。

find_output_panel(name) 查看  返回与命名的输出面板,或相关联的视图无如果输出面板不存在。
destroy_output_panel(name) 没有 销毁命名的输出面板,如果当前打开,则将其隐藏。
active_panel() 海峡 返回当前打开面板的名称,或无,如果没有面板打开。将返回内置面板的名称(如“控制台”,“查找”,除了输出板等)。
面板() [str] 返回未标记为不公开的所有面板的名称列表。除了输出面板之外,还包括某些内置面板。
lookup_symbol_in_index(symbol) 位置 ] 返回在当前项目中的文件中定义符号的所有位置。
lookup_symbol_in_open_files(symbol) 位置 ] 返回在打开的文件中定义符号的所有位置。
extract_variables() 命令

返回使用上下文键填充的字符串的字典:

包,平台,文件,FILE_PATH,FILE_NAME,file_base_name,FILE_EXTENSION,文件夹,项目,project_path,PROJECT_NAME,project_base_name,project_extension。此字典是适于传递给sublime.expand_variables() 。

sublime.Settings 类

方法 返回值 说明
get(name,<default>) 返回指定的设置,或默认,如果它没有定义。如果不通过,默认将具有的值没有。
set(name,value) 没有 设置命名设置。只接受原始类型,列表和字典。
擦除(名称) 没有 删除指定的设置。不从任何父设置中删除它。
has(name) bool 返回真当且仅当指定的选项在这组设置的或它的某个父存在。
add_on_change(key,on_change) 没有 注册要在此对象中的设置更改时运行的回调。
clear_on_change(key) 没有 移除与给定注册的所有回调的关键。

sublime_plugin 模块

方法 返回值 说明
(无方法)

sublime_plugin.EventListener 类

注意,这些事件中的许多事件由视图下面的缓冲区触发,因此该方法仅被调用一次,第一个视图作为参数。

方法 返回值 说明
on_new(view) 没有 创建新缓冲区时调用。
on_new_async(view) 没有 创建新缓冲区时调用。在单独的线程中运行,并且不阻止应用程序。
on_clone(查看) 没有 从现有视图克隆视图时调用。
on_clone_async(view) 没有 从现有视图克隆视图时调用。在单独的线程中运行,并且不阻止应用程序。
on_load(查看) 没有 文件加载完成后调用。
on_load_async(view) 没有 文件加载完成后调用。在单独的线程中运行,并且不阻止应用程序。
on_pre_close(view) 没有 当视图即将关闭时调用。此时视图仍将在窗口中。
on_close(view) 没有
on_pre_save(view) 没有 在保存视图之前调用。
on_pre_save_async(view) 没有 在保存视图之前调用。在单独的线程中运行,并且不阻止应用程序。
on_post_save(view) 没有 在视图保存后调用。
on_post_save_async(view) 没有 在视图保存后调用。在单独的线程中运行,并且不阻止应用程序。
on_modified(查看) 没有 在对视图进行更改后调用。
on_modified_async(view) 没有 在对视图进行更改后调用。在单独的线程中运行,并且不阻止应用程序。
on_selection_modified(view) 没有 在视图中修改选择后调用。
on_selection_modified_async(view) 没有 在视图中修改选择后调用。在单独的线程中运行,并且不阻止应用程序。
on_activated(查看) 没有 当视图获得输入焦点时调用。
on_activated_async(view) 没有 当视图获得输入焦点时调用。在单独的线程中运行,并且不阻止应用程序。
on_deactivated(查看) 没有 当视图失去输入焦点时调用。
on_deactivated_async(view) 没有 当视图失去输入焦点时调用。在单独的线程中运行,并且不阻止应用程序。
on_hover(view,point,hover_zone) 没有

当用户的鼠标悬停在视图上很短一段时间时调用。

点是在视图中的鼠标位置的最近点。鼠标实际上可能没有相邻的基础上的价值所在hover_zone:

  • sublime.HOVER_TEXT:当鼠标悬停在文本。
  • sublime.HOVER_GUTTER:当鼠标悬停在阴沟里。
  • sublime.HOVER_MARGIN:当鼠标在空白悬停的线的右侧。
on_query_context(view,key,operator,operand,match_all) 布尔

确定触发键与给定上下文结合时调用键。如果插件知道如何上下文作出反应,因此返回值应当是真正的假。如果上下文是未知的,则它应该返回无。

操作者是下列之一:

  • sublime.OP_EQUAL:是上下文等于操作的价值?
  • sublime.OP_NOT_EQUAL:是不等于所述操作数的上下文的值?
  • sublime.OP_REGEX_MATCH:是否上下文的值匹配操作给出的正则表达式?
  • sublime.OP_NOT_REGEX_MATCH:是否上下文的值不匹配操作给出的正则表达式?
  • sublime.OP_REGEX_CONTAINS:是否上下文的值包含的子字符串匹配操作给出的正则表达式?
  • sublime.OP_NOT_REGEX_CONTAINS:请问上下文中的值包含的子字符串匹配操作给出的正则表达式?

MATCH_ALL如果上下文涉及的选择应使用:没有每选择必须匹配(MATCH_ALL == TRUE),或者是至少一种匹配足够(MATCH_ALL ==假)?

on_query_completions(查看,前缀,位置) 列表元组

每当完成被呈现给用户时调用。该前缀是文本完成的unicode字符串。

位置是列表。由于这种方法要求在每一个视图中的所有完井不管语法,view.match_selector(point, relevant_scope)应该叫以确定该点是相关的。

返回值必须是以下格式之一:

  • 无:不提供补全

    return None
  • 2元素列表/元组的列表。第一个元素是完成触发器的unicode字符串,第二个是unicode替换文本。

    return [["me1", "method1()"], ["me2", "method2()"]]

    触发可能包含制表符(\ t后跟一个提示在完成框的右侧显示)。

    return [      ["me1\tmethod", "method1()"],      ["me2\tmethod", "method2()"]  ]

    其置换文本可以包含美元数字字段,如一个片段呢,比如$ 0个,$ 1。

    return [      ["fn", "def ${1:name}($2) { $0 }"],      ["for", "for ($1; $2; $3) { $0 }"]  ]
  • 一个2元素元组,其中第一个元素是上面列出的列表格式,第二个元素是下面列表中的位标记:

    • sublime.INHIBIT_WORD_COMPLETIONS:防止Sublime Text展示基于视图的内容落成
    • sublime.INHIBIT_EXPLICIT_COMPLETIONS:防止崇高文本展示落成基于.sublime完井文件
    return (      [          ["me1", "method1()"],          ["me2", "method2()"]      ],      sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS  )
on_text_command(view,command_name,args) (str,dict) 在发出文本命令时调用。侦听可能返回(命令,参数)元组重写命令,或无运行命令修改。
on_window_command(window,command_name,args) (str,dict) 在发出窗口命令时调用。侦听可能返回(命令,参数)元组重写命令,或无运行命令修改。
on_post_text_command(查看,COMMAND_NAME,参数) 没有 在执行文本命令后调用。
on_post_window_command(window,command_name,args) 没有 在执行窗口命令后调用。

sublime_plugin.ViewEventListener 类

一类提供类似事件处理事件监听,但其绑定到特定视图。提供基于类方法的过滤,以控制为其创建哪些视图对象。

视图作为单个参数传递给构造函数。缺省的实现可以通过视图self.view。

类方法 返回值 说明
is_applicable(设置) bool 一个@classmethod接收一个设置对象,并应返回一个布尔表示,如果这个类适用于这些设置的视图
applies_to_primary_view_only() bool 一个@classmethod应该返回一个布尔表示,如果这个类只适用于一个文件的主视图。如果视图是唯一或第一个进入文件的视图,则视图被认为是主视图。
方法 返回值 说明
on_modified() 没有 在对视图进行更改后调用。
on_modified_async() 没有 在对视图进行更改后调用。在单独的线程中运行,并且不阻止应用程序。
on_selection_modified() 没有 在视图中修改选择后调用。
on_selection_modified_async() 没有 在视图中修改选择后调用。在单独的线程中运行,并且不阻止应用程序。
on_activated() 没有 当视图获得输入焦点时调用。
on_activated_async() 没有
on_deactivated() 没有 当视图失去输入焦点时调用。
on_deactivated_async() 没有 当视图失去输入焦点时调用。在单独的线程中运行,并且不阻止应用程序。
on_hover(point,hover_zone) 没有

当用户的鼠标悬停在视图上一小段时间时调用。

点是在视图中的鼠标位置的最近点。鼠标实际上可能没有相邻的基础上的价值所在hover_zone:

  • sublime.HOVER_TEXT:当鼠标悬停在文本。
  • sublime.HOVER_GUTTER:当鼠标悬停在阴沟里。
  • sublime.HOVER_MARGIN:当鼠标在空白悬停的线的右侧。
on_query_context(键,运算符,操作数,match_all) 布尔

确定触发键与给定上下文结合时调用键。如果插件知道如何上下文作出反应,因此返回值应当是真正的假。如果上下文是未知的,则它应该返回无。

操作者是下列之一:

  • sublime.OP_EQUAL:是上下文等于操作的价值?
  • sublime.OP_NOT_EQUAL:是不等于所述操作数的上下文的值?
  • sublime.OP_REGEX_MATCH:是否上下文的值匹配操作给出的正则表达式?
  • sublime.OP_NOT_REGEX_MATCH:是否上下文的值不匹配操作给出的正则表达式?
  • sublime.OP_REGEX_CONTAINS:是否上下文的值包含的子字符串匹配操作给出的正则表达式?
  • sublime.OP_NOT_REGEX_CONTAINS:请问上下文中的值包含的子字符串匹配操作给出的正则表达式?

MATCH_ALL如果上下文涉及的选择应使用:没有每选择必须匹配(MATCH_ALL == TRUE),或者是至少一种匹配足够(MATCH_ALL ==假)?

on_query_completions(前缀,位置) 列表元组

每当完成被呈现给用户时调用。该前缀是文本完成的unicode字符串。

位置是列表。由于这种方法被称为对于所有完井不管语法,self.view.match_selector(point, relevant_scope)应调用,以确定是否该点是相关的。

返回值必须是以下格式之一:

  • 无:不提供补全

    return None
  • 2元素列表/元组的列表。第一个元素是完成触发器的unicode字符串,第二个是unicode替换文本。

    return [["me1", "method1()"], ["me2", "method2()"]]

    触发可能包含制表符(\ t后跟一个提示在完成框的右侧显示)。

    return [      ["me1\tmethod", "method1()"],      ["me2\tmethod", "method2()"]  ]

    其置换文本可以包含美元数字字段,如一个片段呢,比如$ 0个,$ 1。

    return [      ["fn", "def ${1:name}($2) { $0 }"],      ["for", "for ($1; $2; $3) { $0 }"]  ]
  • 一个2元素元组,其中第一个元素是上面列出的列表格式,第二个元素是下面列表中的位标记:

    • sublime.INHIBIT_WORD_COMPLETIONS:防止Sublime Text展示基于视图的内容落成
    • sublime.INHIBIT_EXPLICIT_COMPLETIONS:防止崇高文本展示落成基于.sublime完井文件
    return (      [          ["me1", "method1()"],          ["me2", "method2()"]      ],      sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS  )

sublime_plugin.ApplicationCommand 类

方法 返回值 说明
run(<args>) 没有 命令运行时调用。
is_enabled(<args>) bool 返回真如果命令是能够在这个时间内运行。默认实现总是返回真。
is_visible(<args>) bool 返回真,如果应当在此时菜单中显示的命令。默认的实现总是返回真。
is_checked(<args>) bool 返回真,如果应显示旁边的菜单项的复选框。所述.sublime菜单文件必须设置为复选框属性真正被用于此目的。
description(<args>) str 返回具有给定参数的命令的描述。用于菜单中,如果没有提供字幕。返回无获取默认的描述。

sublime_plugin.WindowCommand类

每个窗口实例化WindowCommands一次。Window对象可以通过检索self.window

方法 返回值 说明
run(<args>) 没有 命令运行时调用。
is_enabled(<args>) bool 返回真如果命令是能够在这个时间内运行。默认实现总是返回真。
is_visible(<args>) bool 返回真,如果应当在此时菜单中显示的命令。默认的实现总是返回真。
description(<args>) str 返回具有给定参数的命令的描述。用于菜单中,如果没有提供字幕。返回无获取默认的描述。

sublime_plugin.TextCommand 类

每个视图实例化一次TextCommands。视图对象可以通过检索self.view

方法 返回值 说明
运行(编辑,<args>) 没有 命令运行时调用。
is_enabled(<args>) bool 返回真如果命令是能够在这个时间内运行。默认实现总是返回真。
is_visible(<args>) bool 返回真,如果应当在此时菜单中显示的命令。默认的实现总是返回真。
description(<args>) str 返回具有给定参数的命令的描述。用于菜单和撤消/重做描述。返回无获取默认的描述。
want_event() bool 返回真收到一个事件时,该命令是由鼠标操作触发参数。事件信息允许命令确定视图的哪个部分被点击。默认实现返回假。