API 参考
版
一般信息🔗
示例插件🔗
Sublime Text 附带了几个预制插件,您可以在 Default 包中找到它们
Packages/Default/exec.py
使用幻影在内联显示错误Packages/Default/font.py
展示了如何使用设置Packages/Default/goto_line.py
提示用户输入,然后更新选择Packages/Default/mark.py
使用 add_regions() 在边栏添加图标Packages/Default/show_scope_name.py
使用弹出窗口显示光标处的范围名称Packages/Default/arithmetic.py
通过命令面板运行时,接受用户的输入
插件生命周期🔗
在导入时,插件可能不会调用任何 API 函数,除了
<4171如果插件定义了一个模块级函数 plugin_loaded()
,则在 API 准备好使用时将调用此函数。插件还可以定义 plugin_unloaded()
,以便在插件卸载之前收到通知。
线程🔗
所有 API 函数都是线程安全的,但请记住,从在备用线程中运行的代码的角度来看,应用程序状态将在代码运行时发生变化。
单位和坐标🔗
接受或返回坐标或尺寸的 API 函数使用设备无关像素 (dip) 值。虽然在某些情况下这些将等效于设备像素,但这通常并非如此。根据 CSS 规范,minihtml 将 px 单位视为设备无关。
类型🔗
- sublime.Kind = tuple[KindId, str, str]🔗
关于符号类型元数据,例如
CompletionItem
、QuickPanelItem
或ListInputItem
。控制在项目左侧显示的“图标”中显示的颜色和字母。
- sublime.Event = dict🔗
包含有关用户与菜单、命令面板选择、快速面板选择或 HTML 文档交互的信息。以下方法用于指示需要事件
dict
。命令可以通过实现方法
want_event(self)
并返回True
来选择接收名为event
的参数。调用
4096show_quick_panel()
可以通过指定标志QuickPanelFlags.WANT_EVENT
来选择接收on_done
回调的第二个参数。
4096ListInputHandler
类可以通过实现方法want_event()
并返回True
来选择接收validate()
和confirm()
方法的第二个参数。
该字典可能包含以下零个或多个键,具体取决于用户交互。
- "x": float
用户在菜单或 minihtml 文档中单击鼠标时的 X 坐标。
- "y": float
用户在菜单或 minihtml 文档中单击鼠标时的 Y 坐标。
- "modifier_keys": dict 4096
可以包含以下零个或多个键。
"primary"
- 表示按下了 Ctrl (Windows/Linux) 或 Cmd (Mac)。"ctrl"
- 表示按下了 Ctrl。"alt"
- 表示按下了 Alt。"altgr"
- 表示按下了 AltGr (仅限 Linux)。"shift"
- 表示按下了 Shift。"super"
- 表示按下了 Win (Windows/Linux) 或 Cmd (Mac)。
当用户从快速面板中选择项目、从
ListInputHandler
中选择项目或在 minihtml 文档中单击链接时出现。
- sublime.CompletionValue = str | tuple[str, str] | CompletionItem🔗
表示一个可用的自动完成项。完成值可以有多种格式。术语“触发器”指的是与用户输入匹配的文本,“替换”指的是如果选择该项,则插入到视图中的内容。“注释”是显示在触发器右侧的 unicode 字符串提示。
str
:一个字符串,既是触发器又是替换
[ "method1()", "method2()", ]
2 元素
tuple
或list
一对字符串 - 触发器和替换
[ ["me1", "method1()"], ["me2", "method2()"] ]
如果触发器中存在 t,则所有后续文本将被视为注释
[ ["me1\tmethod", "method1()"], ["me2\tmethod", "method2()"] ]
替换文本可能包含类似于代码段的美元数字字段,例如
$0
,$1
[ ["fn", "def ${1:name}($2) { $0 }"], ["for", "for ($1; $2; $3) { $0 }"] ]
-
包含触发器、替换、注释和类型元数据的对象
[ sublime.CompletionItem( "fn", annotation="def", completion="def ${1:name}($2) { $0 }", completion_format=sublime.COMPLETION_FORMAT_SNIPPET, kind=sublime.KIND_SNIPPET ), sublime.CompletionItem( "for", completion="for ($1; $2; $3) { $0 }", completion_format=sublime.COMPLETION_FORMAT_SNIPPET, kind=sublime.KIND_SNIPPET ), ]
4050
sublime
模块🔗
基类:
IntEnum
打开文本表中鼠标可以悬停的区域。
参见
EventListener.on_hover
和ViewEventListener.on_hover
。为了向后兼容,这些值也可以在枚举之外使用
HOVER_
前缀。- TEXT = 1🔗
鼠标悬停在文本上。
- GUTTER = 2🔗
鼠标悬停在边距上。
- MARGIN = 3🔗
鼠标悬停在行右侧的空白处。
基类:
IntFlag
用于以各种方式创建/打开文件的标志。
请参阅
Window.new_html_sheet
、Window.new_file
和Window.open_file
。为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。
- NONE = 0🔗
- ENCODED_POSITION = 1🔗
表示应在文件名中搜索
:row
或:row:col
后缀。
- TRANSIENT = 4🔗
仅以预览方式打开文件:在修改之前不会为其分配选项卡。
- FORCE_GROUP = 8🔗
如果文件在不同的组中打开,则不要选择它。而是将在所需组中创建该文件的新的克隆。
- SEMI_TRANSIENT = 16🔗 4096
如果新创建了工作表,它将被设置为半瞬态。半瞬态工作表通常会替换其他半瞬态工作表。这用于侧边栏预览。仅对
ADD_TO_SELECTION
或REPLACE_MRU
有效。
- ADD_TO_SELECTION = 32🔗 4050
将文件添加到组中当前选定的工作表中。
- REPLACE_MRU = 64🔗 4096
导致工作表替换当前工作表选择中最常使用的工作表。
- CLEAR_TO_RIGHT = 128🔗 4100
在打开文件之前,将取消选择最常使用工作表右侧的所有当前选定工作表。仅与
ADD_TO_SELECTION
结合使用有效。
- FORCE_CLONE = 256🔗
如果文件已打开,则不要选择它。而是将在所需组中创建该文件的新的克隆。
基类:
IntFlag
用于弹出窗口的标志。
参见
View.show_popup
.为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。
- NONE = 0🔗
- COOPERATE_WITH_AUTO_COMPLETE = 2🔗
使弹出窗口显示在自动完成菜单旁边。
- HIDE_ON_MOUSE_MOVE = 4🔗
当鼠标移动、点击或滚动时,会导致弹出窗口隐藏。
- HIDE_ON_MOUSE_MOVE_AWAY = 8🔗
当鼠标移动(除非朝向弹出窗口)或点击或滚动时,会导致弹出窗口隐藏。
- KEEP_ON_SELECTION_MODIFIED = 16🔗 4057
防止弹出窗口在选择内容修改时隐藏。
- HIDE_ON_CHARACTER_EVENT = 32🔗 4057
在输入字符时隐藏弹出窗口。
基类:
IntFlag
用于添加区域的标志。请参阅
View.add_regions
。为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。
- NONE = 0🔗
- DRAW_EMPTY = 1🔗
使用垂直线绘制空区域。默认情况下,它们不会绘制。
- HIDE_ON_MINIMAP = 2🔗
不要在迷你地图上显示区域。
- DRAW_EMPTY_AS_OVERWRITE = 4🔗
使用水平线而不是垂直线绘制空区域。
- PERSISTENT = 16🔗
在会话中保存区域。
- DRAW_NO_FILL = 32🔗
禁用填充区域,只保留轮廓。
- HIDDEN = 128🔗
不要绘制区域。
- DRAW_NO_OUTLINE = 256🔗
禁用绘制区域的轮廓。
- DRAW_SOLID_UNDERLINE = 512🔗
在区域下方绘制一条实线。
- DRAW_STIPPLED_UNDERLINE = 1024🔗
在区域下方绘制一条点线。
- DRAW_SQUIGGLY_UNDERLINE = 2048🔗
在区域下方绘制一条波浪线。
- NO_UNDO = 8192🔗
基类:
IntEnum
枚举查询上下文时可使用的运算符。
请参阅
EventListener.on_query_context
和ViewEventListener.on_query_context
。为了向后兼容,这些值也可以在枚举之外使用
OP_
前缀。- EQUAL = 0🔗
- NOT_EQUAL = 1🔗
- REGEX_MATCH = 2🔗
- NOT_REGEX_MATCH = 3🔗
- REGEX_CONTAINS = 4🔗
- NOT_REGEX_CONTAINS = 5🔗
基类:
IntFlag
标识文本表中
Point
特征的标志。参见View.classify
。为了向后兼容,这些值也可以在枚举之外使用
CLASS_
前缀。- NONE = 0🔗
- WORD_START = 1🔗
该点是单词的开头。
- WORD_END = 2🔗
该点是单词的结尾。
- PUNCTUATION_START = 4🔗
该点是一系列标点符号的开头。
- PUNCTUATION_END = 8🔗
该点是一系列标点符号的结尾。
- SUB_WORD_START = 16🔗
该点是子词的开头。
- SUB_WORD_END = 32🔗
该点是子词的结尾。
- LINE_START = 64🔗
点是线的起点。
- LINE_END = 128🔗
点是线的终点。
- EMPTY_LINE = 256🔗
点是空行。
基类:
IntFlag
控制异步完成功能的标志。参见
CompletionList
.为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。
- NONE = 0🔗
- INHIBIT_WORD_COMPLETIONS = 8🔗
阻止 Sublime Text 显示基于视图内容的补全。
- INHIBIT_EXPLICIT_COMPLETIONS = 16🔗
阻止 Sublime Text 显示基于 .sublime-completions 文件的补全。
- DYNAMIC_COMPLETIONS = 32🔗 4057
如果在用户输入时应该重新查询补全。
- INHIBIT_REORDER = 128🔗 4074
阻止 Sublime Text 更改补全顺序。
基类:
IntEnum
来自 是/否/取消 对话框的结果。参见
yes_no_cancel_dialog
.为了向后兼容,这些值也可以在枚举之外使用
DIALOG_
前缀。- CANCEL = 0🔗
- YES = 1🔗
- NO = 2🔗
基类:
IntEnum
为了向后兼容,这些值也可以在枚举之外使用
KIND_ID_
前缀。- AMBIGUOUS = 0🔗
- KEYWORD = 1🔗
- TYPE = 2🔗
- FUNCTION = 3🔗
- NAMESPACE = 4🔗
- NAVIGATION = 5🔗
- MARKUP = 6🔗
- VARIABLE = 7🔗
- SNIPPET = 8🔗
- COLOR_REDISH = 9🔗
- COLOR_ORANGISH = 10🔗
- COLOR_YELLOWISH = 11🔗
- COLOR_GREENISH = 12🔗
- COLOR_CYANISH = 13🔗
- COLOR_BLUISH = 14🔗
- COLOR_PURPLISH = 15🔗
- COLOR_PINKISH = 16🔗
- COLOR_DARK = 17🔗
- COLOR_LIGHT = 18🔗
- sublime.KIND_AMBIGUOUS = (KindId.AMBIGUOUS, '', '')🔗 4052
- sublime.KIND_KEYWORD = (KindId.KEYWORD, '', '')🔗 4052
- sublime.KIND_TYPE = (KindId.TYPE, '', '')🔗 4052
- sublime.KIND_FUNCTION = (KindId.FUNCTION, '', '')🔗 4052
- sublime.KIND_NAMESPACE = (KindId.NAMESPACE, '', '')🔗 4052
- sublime.KIND_NAVIGATION = (KindId.NAVIGATION, '', '')🔗 4052
- sublime.KIND_MARKUP = (KindId.MARKUP, '', '')🔗 4052
- sublime.KIND_VARIABLE = (KindId.VARIABLE, '', '')🔗 4052
- sublime.KIND_SNIPPET = (KindId.SNIPPET, 's', 'Snippet')🔗 4052
基类:
IntEnum
参见
Window.symbol_locations
和View.indexed_symbol_regions
.为了向后兼容,这些值也可以在枚举之外使用
SYMBOL_TYPE_
前缀。- ANY = 0🔗 4085
任何符号类型 - 既包括定义也包括引用。
- DEFINITION = 1🔗 4085
仅定义。
- REFERENCE = 2🔗 4085
仅引用。
基类:
IntEnum
完成文本的格式。参见
CompletionItem
.为了向后兼容,这些值也可以在枚举之外使用
COMPLETION_FORMAT_
前缀。- TEXT = 0🔗 4050
纯文本,完成时文本将逐字插入。
- SNIPPET = 1🔗 4050
一个片段,包含
$
变量。另请参见CompletionItem.snippet_completion
.
- COMMAND = 2🔗 4050
一个命令字符串,格式与
format_command()
返回的格式相同。另请参见CompletionItem.command_completion()
.
- sublime.ok_cancel_dialog(msg: str, ok_title='', title='') bool 🔗
显示一个确定/取消 询问对话框。
- 参数:
-
msg
要在对话框中显示的消息。
-
ok_title
要在确定按钮上显示的文本。
-
title
4099 对话框的标题。仅限 Windows。
-
- 返回值:
用户是否按下了确定按钮。
- sublime.yes_no_cancel_dialog(msg: str, yes_title='', no_title='', title='') DialogResult 🔗
显示一个是/否/取消 询问对话框。
- 参数:
-
msg
要在对话框中显示的消息。
-
yes_title
要在是按钮上显示的文本。
-
no_title
要在否按钮上显示的文本。
-
title
4099 对话框的标题。仅限 Windows。
-
- sublime.open_dialog(callback: Callable[[str | list[str] | None], None], file_types: list[tuple[str, list[str]]] = [], directory: str | None = None, multi_select=False, allow_folders=False)🔗 4075
显示打开文件对话框。
- 参数:
-
callback
对话框关闭后,使用选定的路径(或
None
)调用。
-
file_types
允许的文件类型列表,包含描述和允许的扩展名列表。
-
directory
对话框应从哪个目录开始。如果未提供,将使用虚拟工作目录。
-
multi_select
是否允许选择多个文件。当
True
时,回调将使用列表调用。
-
allow_folders
是否也允许选择文件夹。仅在 macOS 上有效。如果您只想选择文件夹,请使用
select_folder_dialog
。
-
- sublime.save_dialog(callback: Callable[[str | None], None], file_types: list[tuple[str, list[str]]] = [], directory: str | None = None, name: str | None = None, extension: str | None = None)🔗 4075
显示保存文件对话框
- 参数:
-
callback
当对话框关闭时,调用选定的路径或
None
。
-
file_types
允许的文件类型列表,包含描述和允许的扩展名列表。
-
directory
对话框应从哪个目录开始。如果未提供,将使用虚拟工作目录。
-
name
保存对话框中文件的默认名称。
-
extension
保存对话框中使用的默认扩展名。
-
显示一个选择字体的对话框。
- 参数:
-
callback
使用与设置中使用的格式匹配的字体选项调用(例如
{ "font_face": "monospace" }
)。可能多次调用,或者如果对话框被取消,则使用None
调用。
-
默认值
要选择/返回的默认值。与传递给
callback
的参数格式相同。
-
- sublime.run_command(cmd: str, args: CommandArgs = None)🔗
运行命名的
ApplicationCommand
。
- sublime.format_command(cmd: str, args: CommandArgs = None) str 🔗 4075
从
cmd
名称和args
参数创建“命令字符串”。这在构建基于命令的CompletionItem
时使用。
- sublime.html_format_command(cmd: str, args: CommandArgs = None) str 🔗 4075
- 返回值:
用于 HTML 弹出窗口和表格中的转义“命令字符串”。
- sublime.command_url(cmd: str, args: CommandArgs = None) str 🔗 4075
- 返回值:
一个可嵌入 HTML 的命令 URL。
在回调中获取剪贴板的内容。
出于性能原因,如果剪贴板内容的大小超过
size_limit
,则将空字符串传递给回调。
- sublime.get_clipboard(size_limit: int = 16777216) str 🔗
获取剪贴板的内容。
出于性能原因,如果剪贴板内容的大小超过
size_limit
,则将返回空字符串。- 已弃用:
请使用
get_clipboard_async
代替。
4075
- sublime.log_input(flag: bool | None = None)🔗
控制所有按键是否记录到控制台。使用此功能查找键盘上某些键的名称。
- 参数:
-
flag
是否记录。 传递 None 切换记录。 4099
-
- sublime.log_result_regex(flag: bool | None = None)🔗
控制结果正则表达式记录是否已启用。使用此功能调试构建系统中的
"file_regex"
和"line_regex"
。- 参数:
-
flag
是否记录。 传递 None 切换记录。 4099
-
- sublime.log_build_systems(flag: bool | None = None)🔗
控制是否将构建系统日志打印到控制台。
- 参数:
-
flag
是否记录。 传递 None 切换记录。 4099
-
控制是否启用控制树日志记录。启用后,使用 Ctrl+Alt 点击将记录鼠标下的控制树到控制台。
- 参数:
-
flag
是否记录。 传递 None 切换记录。 4099
-
- sublime.score_selector(scope_name: str, selector: str) int 🔗
将
selector
与给定的scope_name
进行匹配,返回一个匹配程度的分数。分数为
0
表示不匹配,大于0
表示匹配。不同的选择器可以与同一个范围进行比较:分数越高表示选择器与范围的匹配程度越高。
- sublime.load_resource(name: str) str 🔗
加载给定的资源。名称应采用“Packages/Default/Main.sublime-menu”的格式。
- 引发
FileNotFoundError
: 如果找不到资源
- 引发
- sublime.load_binary_resource(name) bytes 🔗
加载给定的资源。名称应采用“Packages/Default/Main.sublime-menu”的格式。
- 引发
FileNotFoundError
: 如果找不到资源
- 引发
- sublime.encode_value(value: Value, pretty=False, update_text: str = None) str 🔗
将 JSON 兼容的
Value
编码为字符串表示形式。- 参数:
-
pretty
结果是否应该包含换行符并缩进。
-
update_text
next 增量更新此文本中编码的值。尽最大努力保留
update_text
的内容 - 注释、缩进等。这与更改设置值所使用的算法相同。提供此参数将使pretty
无效。
-
- sublime.decode_value(data: str) Value 🔗
将 JSON 字符串解码为对象。请注意,允许使用注释和尾随逗号。
- 引发
ValueError
: 如果字符串不是有效的 JSON。
- 引发
- sublime.expand_variables(value: Value, variables: dict[str, str]) Value 🔗
使用字典
variables
中定义的变量扩展value
中的任何变量。value 也可以是列表或字典,在这种情况下,结构将被递归扩展。字符串应使用片段语法,例如:expand_variables("Hello, ${name}", {"name": "Foo"})
。
- sublime.load_settings(base_name: str) Settings 🔗
加载命名设置。名称应包含文件名和扩展名,但不包含路径。将搜索包以查找与 base_name 匹配的文件,并将结果合并到设置对象中。
对 load_settings() 使用 base_name 的后续调用将返回相同的对象,而不是再次从磁盘加载设置。
- sublime.set_timeout(callback: Callable, delay: int = 0)🔗
在给定的
delay
(以毫秒为单位)之后,在主线程中运行callback
。具有相同延迟的回调将按照添加顺序运行。
- sublime.windows() list[sublime.Window] 🔗
- 返回值:
所有打开的窗口列表。
- 返回值:
最近打开的工作区列表。具有相同名称的 Sublime-project 文件将代替 Sublime-workspace 文件列出。
- class sublime.Window🔗
Bases:
object
使用 minihtml 参考 构建一个包含 HTML 内容的 sheet。
- 参数:
-
name
要在标签中显示的 sheet 的名称。
-
contents
sheet 的 HTML 内容。
-
flags
-
group
要添加 sheet 的组。
-1
表示活动组。
-
- run_command(cmd: str, args: CommandArgs = None)🔗
使用给定的参数(可选)运行命名的
WindowCommand
。此方法能够运行任何类型的命令,通过输入焦点分发命令。
- new_file(flags=NewFileFlags.NONE, syntax='') View 🔗
创建一个新的空文件。
- 参数:
-
flags
可以是
0
、NewFileFlags.TRANSIENT
或NewFileFlags.ADD_TO_SELECTION
。
-
语法
要应用于文件的语法名称。
-
- 返回值:
文件的视图。
- open_file(fname: str, flags=NewFileFlags.NONE, group=-1) View 🔗
打开指定的文件。如果文件已打开,则将其置于最前面。请注意,由于文件加载是异步的,因此在返回视图的
is_loading()
方法返回False
之前,无法对返回视图进行操作。- 参数:
-
fname
要打开的文件的路径。
-
flags
-
group
要添加 sheet 的组。
-1
表示活动组。
-
- find_open_file(fname: str, group=-1) View | None 🔗
按文件名查找打开的文件。
- 参数:
-
fname
要打开的文件的路径。
-
group
要搜索文件的组。
-1
表示任何组。
-
- 返回值:
文件的
View
,如果文件未打开,则为None
。
- select_sheets(sheets: list[sublime.Sheet])🔗 4083
更改整个窗口的选定工作表。
- bring_to_front()🔗
将窗口置于所有其他窗口的前面。
- move_sheets_to_group(sheets: list[sublime.Sheet], group: int, insertion_idx=-1, select=True)🔗 4123
将所有提供的 sheet 移动到指定的 group,插入到提供的插入索引处。如果未提供索引,则默认插入到目标 group 的最后一个索引处。
- 参数:
-
sheets
要移动的 sheet。
-
group
要将 sheet 移动到的 group 的索引。
-
insertion_idx
在 group 中插入 sheet 的位置。
-
select
是否在移动 sheet 后选择它们。
-
- sheets() list[sublime.Sheet] 🔗
- 返回值:
窗口中所有打开的 sheet。
- views(*, include_transient=False) list[sublime.View] 🔗
- 参数:
-
include_transient
4081 是否包含瞬态工作表。
-
- 返回值:
窗口中所有打开的 sheet。
- selected_sheets() list[sublime.Sheet] 🔗 4083
- 返回值:
窗口当前选定组中的所有选定工作表。
- selected_sheets_in_group(group: int) list[sublime.Sheet] 🔗 4083
- 返回值:
指定组中的所有选定工作表。
- sheets_in_group(group: int) list[sublime.Sheet] 🔗
- 返回值:
指定组中的所有工作表的列表。
- views_in_group(group: int) list[sublime.View] 🔗
- 返回值:
指定组中的所有视图的列表。
- create_output_panel(name: str, unlisted=False) View 🔗
查找与命名输出面板关联的视图,如果需要则创建它。输出面板可以通过运行
show_panel
窗口命令来显示,并将panel
参数设置为带有"output."
前缀的名称。可选的
unlisted
参数是一个布尔值,用于控制输出面板是否应该在面板切换器中列出。
- active_panel() str | None 🔗
返回当前打开的面板的名称,如果未打开任何面板,则返回 None。除了输出面板之外,还会返回内置面板名称(例如
"console"
、"find"
等)。
- get_output_panel(name: str)🔗
- 已弃用:
请使用
create_output_panel
代替。
- show_input_panel(caption: str, initial_text: str, on_done: Callable[[str], None] | None, on_change: Callable[[str], None] | None, on_cancel: Callable[[], None] | None)🔗
显示输入面板,用于从用户收集一行输入。
- 参数:
-
caption
放在输入小部件旁边的标签。
-
initial_text
输入小部件中的初始文本。
-
on_done
当用户按下
enter
时,使用最终输入调用。
-
on_change
当输入发生变化时,使用输入调用。
-
on_cancel
当用户使用
esc
取消输入时调用。
-
- 返回值:
用于输入小部件的
View
。
- show_quick_panel(items: list[str] | list[list[str]] | list[sublime.QuickPanelItem], on_select: Callable[[int], None], flags=QuickPanelFlags.NONE, selected_index=-1, on_highlight: Callable[[int], None] | None = None, placeholder: str | None = None)🔗
在列表中显示一个快速面板来选择一个项目。on_select 将被调用一次,并带有所选项目的索引。如果快速面板被取消,on_select 将被调用,参数为 -1。
- 参数:
-
items
可以是字符串列表,也可以是字符串列表的列表,其中第一个项目是触发器,所有后续字符串是显示在下面的详细信息。
可以是
4083QuickPanelItem
。
-
on_select
在快速面板完成时,使用所选项目的索引调用。如果面板被取消,则使用
-1
调用。当
4096QuickPanelFlags.WANT_EVENT
标志存在时,可以传递第二个Event
参数。
-
flags
QuickPanelFlags
控制行为。
-
selected_index
最初选定的项目。
-1
表示没有选择。
-
on_highlight
每次快速面板中突出显示的项目更改时都会调用。
-
placeholder
4081 在输入任何查询之前,在过滤器输入字段中显示的文本。
-
- 返回值:
菜单是否可见。
隐藏或显示菜单。
- set_project_data(data: Value)🔗
更新与当前窗口关联的项目数据。如果窗口与 .sublime-project 文件关联,则项目文件将在磁盘上更新,否则窗口将在内部存储数据。
- lookup_symbol_in_index(symbol: str) list[sublime.SymbolLocation] 🔗
- 返回值:
当前项目中所有文件中定义符号的位置。
- 已弃用:
请使用
symbol_locations()
代替。
- lookup_symbol_in_open_files(symbol: str) list[sublime.SymbolLocation] 🔗
- 返回值:
所有打开文件中定义符号的位置。
- 已弃用:
请使用
symbol_locations()
代替。
- lookup_references_in_index(symbol: str) list[sublime.SymbolLocation] 🔗
- 返回值:
当前项目中所有文件中引用符号的位置。
- 已弃用:
请使用
symbol_locations()
代替。
- lookup_references_in_open_files(symbol: str) list[sublime.SymbolLocation] 🔗
- 返回值:
所有打开文件中引用符号的位置。
- 已弃用:
请使用
symbol_locations()
代替。
- extract_variables() dict[str, str] 🔗
获取窗口的上下文键的
dict
。可能包含:*
"packages"
*"platform"
*"file"
*"file_path"
*"file_name"
*"file_base_name"
*"file_extension"
*"folder"
*"project"
*"project_path"
*"project_name"
*"project_base_name"
*"project_extension"
此
dict
适合与expand_variables()
一起使用。
- class sublime.Edit🔗
Bases:
object
一组缓冲区修改。
Edit 对象传递给
TextCommand
,用户无法创建它们。使用无效的 Edit 对象或来自不同View
的 Edit 对象会导致需要它们的函数失败。
- class sublime.Region🔗
Bases:
object
单个选择区域。此区域有顺序 -
b
可能在a
之前或在a
处。也常用于表示文本缓冲区区域,其中顺序和
xpos
通常被忽略。- contains(x: Point) bool 🔗
等同于
__contains__
。
- class sublime.TextChange🔗 4050
Bases:
object
表示对
View
文本所做的更改。这主要用于重放对文档的更改。- a: HistoricPosition🔗
被修改区域的起始
HistoricPosition
。
- b: HistoricPosition🔗
被修改区域的结束
HistoricPosition
。
- str: str
由
.a
和.b
指定区域的新内容的字符串。
- class sublime.Sheet🔗
Bases:
object
表示内容容器,即窗口中的选项卡。工作表可以包含视图或图像预览。
- 返回值:
此工作表是否为完全瞬态。
请注意,工作表可以同时作为常规文件打开并为瞬态。在这种情况下,
is_transient
仍将返回False
。
- close(on_close=<function Sheet.<lambda>>)🔗 4088
关闭工作表。
- 参数:
-
on_close
-
- class sublime.View🔗
Bases:
object
表示对文本
Buffer
的视图。请注意,多个视图可以引用同一个
Buffer
,但它们拥有各自独特的选区和几何形状。可以使用View.clones()
或Buffer.views()
获取这些视图的列表。- 返回值:
对于属于
Sheet
的普通视图,为None
。对于构成 UI 部分的视图,将从以下列表中返回一个字符串"console:input"
- 控制台输入。"goto_anything:input"
- Goto Anything 的输入。"command_palette:input"
- 命令面板的输入。"find:input"
- 查找面板的输入。"incremental_find:input"
- 增量查找面板的输入。"replace:input:find"
- 替换面板的查找输入。"replace:input:replace"
- 替换面板的替换输入。"find_in_files:input:find"
- 在文件中查找面板的查找输入。"find_in_files:input:location"
- 在文件中查找面板的查找位置输入。"find_in_files:input:replace"
- 在文件中查找面板的替换输入。"find_in_files:output"
- 在文件中查找的输出面板(缓冲区或输出面板)。"input:input"
- 输入面板的输入。"exec:output"
- exec 命令的输出。"output:output"
- 通用输出面板。
控制台输出、索引器状态输出和许可证输入控件无法通过 API 访问。
- clones() list[sublime.View] 🔗
- is_scratch() bool 🔗
- 返回值:
缓冲区是否为一个临时缓冲区。参见
set_scratch()
.
- set_scratch(scratch: bool)🔗
设置缓冲区的 scratch 属性。当修改后的 scratch 缓冲区关闭时,它将关闭而不会提示保存。Scratch 缓冲区永远不会报告为脏的。
- insert(edit: Edit, pt: Point, text: str) int 🔗
将给定的字符串插入缓冲区。
- 参数:
-
edit
由
TextCommand
提供的Edit
对象。
-
point
视图中要插入的文本点。
-
text
要插入的文本。
-
- 返回值:
实际插入的字符数。由于制表符转换,这可能与提供的文本不同。
- 引发
ValueError
: 如果
Edit
对象处于无效状态,即在TextCommand
之外。
- change_id() tuple[int, int, int] 🔗
获取一个 3 元素元组,可以传递给
transform_region_from()
以获得与过去视图中区域等效的区域。这主要对提供文本修改的插件有用,这些插件必须以异步方式运行,并且必须能够处理请求和响应之间视图内容的更改。
- transform_region_from(region: Region, change_id: tuple[int, int, int]) Region 🔗
将过去某个时间点的区域转换为 View 当前状态下的等效区域。
change_id
必须从change_id()
获取,该时间点是区域所在的点。
- run_command(cmd: str, args: CommandArgs = None)🔗
使用(可选)给定的
args
运行命名的TextCommand
。
- find_all(pattern: str, flags=FindFlags.NONE, fmt: str | None = None, extractions: list[str] | None = None) list[sublime.Region] 🔗
- 参数:
-
pattern
要搜索的正则表达式或字面模式。
-
flags
控制 find 的各种行为。参见
FindFlags
。
-
fmt
当不为
None
时,extractions
列表中的所有匹配项将使用提供的格式字符串进行格式化。
-
extractions
一个可选提供的列表,用于将查找结果的内容放入其中。
-
- 返回值:
所有(非重叠)匹配模式的区域。
- meta_info(key: str, pt: Point) Value 🔗
在给定
Point
的作用域中,从所有匹配的.tmPreferences
文件中查找首选项key
。键的示例包括
TM_COMMENT_START
和showInSymbolList
。
- extract_tokens_with_scopes(region: Region) list[tuple[sublime.Region, str]] 🔗
- 参数:
-
region
要从中提取标记和作用域的区域。
-
- 返回值:
包含
Region
和每个标记作用域的元组对列表。
- expand_to_scope(pt: Point, selector: str) Region | None 🔗
根据提供的范围选择器从
Point
进行扩展。- 参数:
-
pt
要扩展的点。
-
selector
要匹配的范围选择器。
-
- 返回值:
匹配到的
Region
,如果有的话。
- context_backtrace(pt: Point) list[ContextStackFrame] 🔗 4127
获取提供的
Point
处的ContextStackFrame
的回溯。注意,此函数特别慢。
- score_selector(pt: Point, selector: str) int 🔗
等同于
sublime.score_selector(view.scope_name(pt), selector)
- find_by_selector(selector: str) list[sublime.Region] 🔗
查找文件中所有与给定选择器匹配的区域。
- 返回值:
匹配区域的列表。
参见
style_for_scope
.- 返回值:
视图的全局样式设置。所有颜色都规范化为以井号开头的六位十六进制形式,例如
#ff0000
。
- style_for_scope(scope: str) dict[str, Value] 🔗
接受一个字符串范围名称,并返回一个包含以下键的样式信息
dict
"foreground": str
"selection_foreground": str
(仅当设置时)"background": str
(仅当设置时)"bold": bool
"italic": bool
4063"glow": bool
(仅当设置时)
4075"underline": bool
(仅当设置时)
4075"stippled_underline": bool
(仅当设置时)
4075"squiggly_underline": bool
(仅当设置时)"source_line": str
"source_column": int
"source_file": int
前景色和背景色规范化为以井号开头的六位十六进制形式,例如
#ff0000
。
- lines(region: Region) list[sublime.Region] 🔗
- 返回值:
与提供的
Region
相交的行的列表(按排序顺序)。
- split_by_newlines(region: Region) list[sublime.Region] 🔗
将区域拆分,以便返回的每个
Region
恰好存在于一行上。
- classify(pt: Point) PointClassification 🔗
对提供的
Point
进行分类。参见PointClassification
。
- find_by_class(pt: Point, forward: bool, classes: PointClassification, separators='', sub_word_separators='') Point 🔗
查找与提供的
PointClassification
匹配的下一个位置。- 参数:
-
pt
要从中开始搜索的点。
-
forward
是否向前或向后搜索。
-
classes
要搜索的分类。
-
separators
在分类时要使用的单词分隔符。
-
sub_word_separators
4130 在分类时要使用的子词分隔符。
-
- 返回值:
找到的点。
- expand_by_class(x: Region | Point, classes: PointClassification, separators='', sub_word_separators='') Region 🔗
将提供的
Point
或Region
向左和向右扩展,直到每侧都落在与提供的PointClassification
匹配的位置。参见find_by_class
。- 参数:
-
classes
要搜索的分类。
-
separators
在分类时要使用的单词分隔符。
-
sub_word_separators
4130 在分类时要使用的子词分隔符。
-
- text_point(row: int, col: int, *, clamp_column=False) Point 🔗
计算给定 0 为基线的
row
和col
的字符偏移量。col
被解释为从行首开始前进的 Unicode 字符数。- 参数:
-
clamp_column
4075 是否应该将
col
限制在给定row
的有效值范围内。
-
- text_point_utf8(row: int, col: int, *, clamp_column=False) Point 🔗
计算给定 0 为基线的
row
和col
的字符偏移量。col
被解释为从行首开始前进的 UTF-8 代码单元数。- 参数:
-
clamp_column
4075 是否应该将
col
限制在给定row
的有效值范围内。
-
- text_point_utf16(row: int, col: int, *, clamp_column=False) Point 🔗
计算给定 0 为基准的
row
和col
的字符偏移量。col
被解释为从行首开始前进的 UTF-16 代码单元数。- 参数:
-
clamp_column
4075 是否应该将
col
限制在给定row
的有效值范围内。
-
计算给定文本点处的 utf8 代码单元偏移量。
- 参数:
-
tp
应该计算代码单元的文本点。如果未提供,则返回总数。
-
计算给定文本点处的 utf16 代码单元偏移量。
- 参数:
-
tp
应该计算代码单元的文本点。如果未提供,则返回总数。
-
- show(location: Region | Selection | Point, show_surrounds=True, keep_to_left=False, animate=True)🔗
滚动视图以显示给定位置。
- folded_regions() list[sublime.Region] 🔗
- 返回值:
折叠区域的列表。
- unfold(x: Region | list[sublime.Region]) list[sublime.Region] 🔗
展开提供的
Region
中的所有文本。- 返回值:
展开的区域。
- add_regions(key: str, regions: list[sublime.Region], scope='', icon='', flags=RegionFlags.NONE, annotations: list[str] = [], annotation_color='', on_navigate: Callable[[str], None] | None = None, on_close: Callable[[], None] | None = None)🔗
在视图中的文本区域添加视觉指示器。指示器包括侧边栏中的图标、文本下方的下划线、文本周围的边框和注释。注释绘制在视图的右侧边缘,可以包含 HTML 标记。
- 参数:
-
key
用于标识区域集合的标识符。如果此键已存在一组区域,则会覆盖它们。请参阅
get_regions
。
-
regions
要添加的区域列表。这些区域不应重叠。
-
scope
一个可选字符串,用于为绘制区域提供颜色来源。范围与配色方案匹配。例如:
"invalid"
和"string"
。有关常见范围的列表,请参阅 范围命名。如果范围为空,则不会绘制区域。还支持以下伪范围,以允许从用户的配色方案中选择最接近的颜色
"region.redish"
"region.orangish"
"region.yellowish"
"region.greenish"
"region.cyanish"
"region.bluish"
"region.purplish"
"region.pinkish"
-
icon
一个可选字符串,指定在每个区域旁边的沟槽中绘制的图标。图标将使用与
scope
关联的颜色进行着色。标准图标名称为"dot"
、"circle"` and ``"bookmark"
。图标也可以是完整的包相对路径,例如"Packages/Theme - Default/dot.png"
。
-
flags
指定区域如何绘制以及其他行为的标志。请参阅
RegionFlags
。
-
annotations
4050 一个可选的字符串集合,包含要在视图右侧边缘显示的 HTML 文档。注释的数量应与区域数量相同。有关支持的 HTML,请参阅 minihtml 参考。
-
annotation_color
4050 一个可选的 CSS 颜色字符串,用于绘制注释的左边界。有关支持的颜色格式,请参阅 minihtml 参考:颜色。
-
on_navitate
4050 当单击注释中的链接时调用。将传递链接的
href
。
-
on_close
4050 当注释关闭时调用。
-
- get_regions(key: str) list[sublime.Region] 🔗
- 返回值:
与给定
key
关联的区域(如果有)。
- assign_syntax(syntax: str | Syntax)🔗
更改视图使用的语法。
syntax
可以是语法文件的包路径,也可以是scope:
指定符字符串。
4080syntax
可以是一个Syntax
对象。
- set_syntax_file(syntax_file: str)🔗
- 已弃用:
请使用
assign_syntax()
代替。
- symbols() list[tuple[sublime.Region, str]] 🔗
提取缓冲区中定义的所有符号。
- 已弃用:
请使用
symbol_regions()
代替。
- get_symbols() list[tuple[sublime.Region, str]] 🔗
- 已弃用:
请使用
symbol_regions()
代替。
- indexed_symbols() list[tuple[sublime.Region, str]] 🔗 3148
- 返回值:
符号的
Region
和名称列表。- 已弃用:
请使用
indexed_symbol_regions()
代替。
- indexed_references() list[tuple[sublime.Region, str]] 🔗 3148
- 返回值:
符号的
Region
和名称列表。- 已弃用:
请使用
indexed_symbol_regions()
代替。
- symbol_regions() list[sublime.SymbolRegion] 🔗 4085
- 返回值:
有关视图符号列表中包含的符号的信息。
- indexed_symbol_regions(type=SymbolType.ANY) list[sublime.SymbolRegion] 🔗 4085
- 参数:
-
type
要返回的符号类型。
-
- 返回值:
有关已索引符号的信息。
- set_status(key: str, value: str)🔗
将状态
key
添加到视图。value
将显示在状态栏中,在所有状态值的逗号分隔列表中,按键排序。将value
设置为""
将清除状态。
- get_status(key: str) str 🔗
- 返回值:
与给定
key
关联的先前分配的值(如果有)。
参见
set_status()
.
- extract_completions(prefix: str, tp: Point = -1) list[str] 🔗
根据视图的内容获取单词补全列表。
- 参数:
-
prefix
用于过滤单词的前缀。
-
tp
用于衡量单词的
Point
。更接近的单词优先。
-
- command_history(index: int, modifying_only=False) tuple[str, CommandArgs, int] 🔗
获取存储在撤销/重做堆栈中的先前运行命令的信息。
- 参数:
-
index
撤销/重做堆栈中的偏移量。正的 index 值表示在重做堆栈中查找命令。
-
modifying_only
是否只考虑修改文本缓冲区的命令。
-
- 返回值:
历史记录条目的命令名称、命令参数和重复次数。如果撤销/重做历史记录没有扩展到足够远,则将返回
(None, None, 0)
。
- set_overwrite_status(value: bool)🔗
设置覆盖状态。参见
overwrite_status()
.
在光标处显示一个弹出菜单,用于从列表中选择一个项目。
- 参数:
-
items
要显示在列表中的条目列表。
-
on_done
选择项目的索引将调用一次。如果弹出菜单被取消,则传递
-1
。
-
flags
必须为
0
,当前未使用。
-
- show_popup(content: str, flags=PopupFlags.NONE, location: Point = -1, max_width: DIP = 320, max_height: DIP = 240, on_navigate: Callable[[str], None] | None = None, on_hide: Callable[[], None] | None = None)🔗
显示一个显示 HTML 内容的弹出窗口。
- 参数:
-
content
要显示的 HTML 内容。
-
flags
控制弹出窗口行为的标志。参见
PopupFlags
.
-
location
要显示弹出窗口的
Point
。如果为-1
,则弹出窗口显示在光标的当前位置。
-
max_width
弹出窗口的最大宽度。
-
max_height
弹出窗口的最大高度。
-
on_navigate
当在弹出窗口中点击链接时调用。传递点击链接的
href
属性的值。
-
on_hide
当弹出窗口隐藏时调用。
-
- hide_popup()🔗
隐藏当前弹出窗口。
- export_to_html(regions: Region | list[sublime.Region] | None = None, minihtml=False, enclosing_tags=False, font_size=True, font_family=True)🔗 4092
生成当前视图内容的 HTML 字符串,包括语法高亮的样式。
- 参数:
-
regions
要导出的区域。默认情况下,导出整个视图。
-
minihtml
导出的 HTML 是否应与minihtml 参考兼容。
-
enclosing_tags
是否添加具有基本样式的
<div>
。请注意,如果没有它,将不会设置背景颜色。
-
font_size
是否在顶级样式中包含字体大小。仅在
enclosing_tags
为True
时适用。
-
font_family
是否在顶级样式中包含字体系列。仅在
enclosing_tags
为True
时适用。
-
- clear_undo_stack()🔗 4114
清除撤销/重做堆栈。
- class sublime.Settings🔗
Bases:
object
一个类似于
dict
的对象,它是一个设置层次结构。使用提供的参数更新设置。
接受
一个
dict
或其他实现collections.abc.Mapping
的对象。具有
keys()
方法的对象。迭代键值对的对象
关键字参数,即
update(**kwargs)
。
- has(key: str) bool 🔗
与
__contains__
相同。
- set(key: str, value: Value)🔗
与
__setitem__
相同。
- erase(key: str)🔗
与
__delitem__
相同。
- add_on_change(tag: str, callback: Callable[[], None])🔗
注册一个回调函数,以便在设置更改时运行。
- 参数:
-
tag
与回调函数关联的字符串。用于
clear_on_change
。
-
callback
当设置更改时要运行的可调用对象。
-
- clear_on_change(tag: str)🔗
删除与提供的
tag
关联的所有回调。请参见add_on_change
。
- class sublime.Phantom🔗
Bases:
object
表示一个基于 minihtml 参考 的装饰,用于在
View
中显示不可编辑的内容。与PhantomSet
一起使用,实际上将幻影添加到View
中。一旦Phantom
被构造并添加到View
中,对属性的更改将不会有任何影响。- layout: PhantomLayout🔗
幻影相对于
region
的放置方式。
当 HTML 中的链接被点击时调用。传递
href
属性的值。
- class sublime.PhantomSet🔗
Bases:
object
一个集合,用于管理
Phantom
对象,以及在View
中添加、更新和删除它们的过程。- __init__(view, key='')🔗
- update(phantoms: Iterable[Phantom])🔗
更新幻影集。如果现有幻影的
Phantom.region
发生了变化,它们将被移动;新的幻影将被添加,不存在的幻影将被删除。
- class sublime.Html🔗
Bases:
object
用于指示字符串以 HTML 格式进行格式化。请参见
CommandInputHandler.preview()
。
- class sublime.CompletionList🔗 4050
Bases:
object
表示一个补全列表,其中一些补全可能正在异步获取中。
- __init__(completions: list[CompletionValue] | None = None, flags=AutoCompleteFlags.NONE)🔗
- 参数:
-
completions
如果传递了
None
,则必须在显示补全给用户之前调用方法set_completions()
。
-
flags
控制自动补全行为的标志。参见
AutoCompleteFlags
。
-
- set_completions(completions: list[CompletionValue], flags=AutoCompleteFlags.NONE)🔗
设置补全列表,允许将列表显示给用户。
- class sublime.CompletionItem🔗 4050
Bases:
object
表示一个可用的自动补全项。
- completion_format: CompletionFormat🔗
完成的格式。参见
CompletionFormat
.
完成的可选 minihtml 参考 描述,显示在自动完成窗口底部的详细信息窗格中。
- classmethod snippet_completion(trigger: str, snippet: str, annotation='', kind=(KindId.SNIPPET, 's', 'Snippet'), details='') CompletionItem 🔗
代码片段完成的专用构造函数。
completion_format
始终为CompletionFormat.SNIPPET
.
- classmethod command_completion(trigger: str, command: str, args: CommandArgs = None, annotation='', kind=(KindId.AMBIGUOUS, '', ''), details='') CompletionItem 🔗
命令完成的专用构造函数。
completion_format
始终为CompletionFormat.COMMAND
.
- sublime.list_syntaxes() list[sublime.Syntax] 🔗
列出所有已知的语法。
返回一个 Syntax 列表。
- sublime.find_syntax_by_name(name: str) list[sublime.Syntax] 🔗
查找具有指定名称的语法。
名称必须完全匹配。返回一个 Syntax 列表。
- sublime.find_syntax_by_scope(scope: str) list[sublime.Syntax] 🔗
查找具有指定范围的语法。
范围必须完全匹配。返回一个 Syntax 列表。
- sublime.find_syntax_for_file(path, first_line='') Syntax | None 🔗
查找要用于路径的语法。
使用文件扩展名、各种应用程序设置以及可选的第一行来选择文件的正确语法。
返回一个 Syntax。
sublime_plugin
模块🔗
- class sublime_plugin.CommandInputHandler🔗
Bases:
object
- cancel()🔗
当输入处理程序被取消时调用,无论是用户按下退格键还是 Esc 键。
- next_input(args) CommandInputHandler | None 🔗
在用户完成当前输入后返回下一个输入。可以返回
None
表示不再需要输入,或者返回sublime_plugin.BackInputHandler()
表示应该从堆栈中弹出输入处理程序。
是否应该在
validate()
和confirm()
方法中接收第二个Event
参数。默认情况下返回False
。
- class sublime_plugin.BackInputHandler🔗
继承自:
CommandInputHandler
- class sublime_plugin.TextInputHandler🔗
继承自:
CommandInputHandler
TextInputHandlers 可用于在命令面板中接受文本输入。从
Command.input()
返回此类的子类。为了让用户看到输入处理程序,返回输入处理程序的命令必须通过将命令添加到 Default.sublime-commands 文件中,使其在命令面板中可用。
- class sublime_plugin.ListInputHandler🔗
继承自:
CommandInputHandler
ListInputHandlers 可用于从命令面板中的列表项中接受选择输入。从
Command.input()
返回此类的子类。为了让用户看到输入处理程序,返回输入处理程序的命令必须通过将命令添加到 Default.sublime-commands 文件中,使其在命令面板中可用。
- list_items() list[str] | tuple[list[str], int] | list[tuple[str, Value]] | tuple[list[tuple[str, Value]], int] | list[sublime.ListInputItem] | tuple[list[sublime.ListInputItem], int] 🔗
此方法应返回要在列表中显示的项目。
返回值可以是
list
项目,也可以是包含项目列表和int
预选项目索引的 2 元素tuple
。列表中的每个项目可以是以下之一
用于行文本和传递给命令的值的字符串
包含行文本字符串和要传递给命令的
Value
的 2 元素元组一个
4095sublime.ListInputItem
对象
- class sublime_plugin.Command🔗
Bases:
object
- input(args: dict) CommandInputHandler | None 🔗 3154
如果此返回值不是
None
,则在命令面板中运行命令之前,将提示用户输入。
- run()🔗
在运行命令时调用。命令参数作为关键字参数传递。
- class sublime_plugin.WindowCommand🔗
Bases:
Command
每个窗口实例化一次的
Command
。可以通过self.window
获取Window
对象。
- class sublime_plugin.EventListener🔗
Bases:
object
- on_exit()🔗 4050
在 API 关闭后,插件主机进程退出之前立即调用一次。
当缓冲区与文件关联时调用。在单独的线程中运行,不会阻塞应用程序。buffer 将是一个 Buffer 对象。
- on_hover(view: View, point: Point, hover_zone: HoverZone)🔗
当用户鼠标悬停在视图上一段时间后调用。
- 参数:
-
视图
视图
-
point
视图中距离鼠标位置最近的点。根据
hover_zone
的值,鼠标可能实际上并不位于相邻位置。
-
hover_zone
鼠标悬停在 Sublime Text 中的哪个元素上。
-
- on_query_context(view: View, key: str, operator: QueryOperator, operand: str, match_all: bool) bool | None 🔗
在确定是否使用给定上下文键触发键绑定时调用。如果插件知道如何响应上下文,它应该返回 True 或 False。如果上下文未知,它应该返回 None。
- 参数:
-
key
要查询的上下文键。这通常指的是插件持有的特定状态。
-
operator
与操作数进行检查的操作符;是检查相等性、不等性等。
-
operand
使用
operator
进行检查的值。
-
match_all
如果上下文与选择相关,则应使用此选项:是否每个选择都必须匹配(
match_all == True
),或者至少一个匹配就足够了(match_all == False
)?
-
- 返回值:
True
或False
如果插件处理此上下文键,并且它要么匹配,要么不匹配。如果上下文未知,则返回None
。
- on_query_completions(view: View, prefix: str, locations: List[Point]) None | List[CompletionValue] | Tuple[List[CompletionValue], AutoCompleteFlags] | CompletionList 🔗
在向用户显示代码补全建议时调用。
- 参数:
-
prefix
用户已输入的文本。
-
locations
正在进行代码补全的点列表。由于此方法会针对所有代码补全情况调用,无论语法如何,都应调用
self.view.match_selector(point, relevant_scope)
来确定该点是否相关。
-
- 返回值:
代码补全建议的列表,可以采用以下格式之一:有效格式列表或
None
(如果未提供任何代码补全建议)。
- on_text_command(view: View, command_name: str, args: CommandArgs)🔗
在发出文本命令时调用。监听器可以返回一个 (command, arguments) 元组来重写命令,或者返回
None
来以未修改的方式运行命令。
- on_window_command(window: Window, command_name: str, args: CommandArgs)🔗
在发出窗口命令时调用。监听器可以返回一个 (command, arguments) 元组来重写命令,或者返回
None
来以未修改的方式运行命令。
- on_post_text_command(view: View, command_name: str, args: CommandArgs)🔗
在执行文本命令后调用。
- on_post_window_command(window: Window, command_name: str, args: CommandArgs)🔗
在窗口命令执行后调用。
- class sublime_plugin.ViewEventListener🔗
Bases:
object
一个提供类似事件处理的类
EventListener
,但绑定到特定的视图。提供基于类方法的过滤,以控制为哪些视图创建对象。- on_load()🔗 3155
当文件加载完成时调用。
- on_reload()🔗 4050
当文件被重新加载时调用。
- on_revert()🔗 4050
当文件被还原时调用。
- on_pre_move()🔗 4050
在视图在两个窗口之间移动之前立即调用。
- on_post_move()🔗 4050
在视图在两个窗口之间移动之后立即调用。
- on_post_move_async()🔗 4050
与
on_post_move
相同,但在单独的线程中运行,不会阻塞应用程序。
- on_pre_close()🔗 3155
当视图即将关闭时调用。此时视图仍将在窗口中。
- on_close()🔗 3155
当视图关闭时调用(注意,可能仍有其他视图指向同一个缓冲区)。
- on_pre_save()🔗 3155
在视图保存之前调用。
- on_pre_save_async()🔗 3155
与
on_pre_save
相同,但在单独的线程中运行,不会阻塞应用程序。
- on_post_save()🔗 3155
在视图保存之后调用。
- on_post_save_async()🔗 3155
与
on_post_save
相同,但在单独的线程中运行,不会阻塞应用程序。
- on_modified()🔗
在对视图进行更改后调用。
- on_modified_async()🔗
与
on_modified
相同,但在单独的线程中运行,不会阻塞应用程序。
- on_selection_modified()🔗
在视图中的选择被修改后调用。
- on_selection_modified_async()🔗
在视图中的选择被修改后调用。在单独的线程中运行,不会阻塞应用程序。
- on_activated()🔗
当视图获得输入焦点时调用。
- on_activated_async()🔗
当视图获得输入焦点时调用。在单独的线程中运行,不会阻塞应用程序。
- on_deactivated()🔗
当视图失去输入焦点时调用。
- on_deactivated_async()🔗
当视图失去输入焦点时调用。在单独的线程中运行,不会阻塞应用程序。
- on_hover(point: Point, hover_zone: HoverZone)🔗
当用户鼠标悬停在视图上一段时间后调用。
- 参数:
-
point
视图中距离鼠标位置最近的点。根据
hover_zone
的值,鼠标可能实际上并不位于相邻位置。
-
hover_zone
鼠标悬停在 Sublime Text 中的哪个元素上。
-
- on_query_context(key: str, operator: QueryOperator, operand: str, match_all: bool) bool | None 🔗
在确定是否使用给定上下文键触发键绑定时调用。如果插件知道如何响应上下文,它应该返回 True 或 False。如果上下文未知,它应该返回 None。
- 参数:
-
key
要查询的上下文键。这通常指的是插件持有的特定状态。
-
operator
与操作数进行检查的操作符;是检查相等性、不等性等。
-
operand
使用
operator
进行检查的值。
-
match_all
如果上下文与选择相关,则应使用此方法:每个选择是否都必须匹配(
match_all == True
),或者至少有一个匹配就足够了(match_all == False
)?
-
- 返回值:
True
或False
如果插件处理此上下文键,并且它要么匹配,要么不匹配。如果上下文未知,则返回None
。
- on_query_completions(prefix: str, locations: List[Point]) None | List[CompletionValue] | Tuple[List[CompletionValue], AutoCompleteFlags] | CompletionList 🔗
在向用户显示代码补全建议时调用。
- 参数:
-
prefix
用户已输入的文本。
-
locations
正在进行代码补全的点列表。由于此方法会针对所有代码补全情况调用,无论语法如何,都应调用
self.view.match_selector(point, relevant_scope)
来确定该点是否相关。
-
- 返回值:
代码补全建议的列表,可以采用以下格式之一:有效格式列表或
None
(如果未提供任何代码补全建议)。
- on_text_command(command_name: str, args: CommandArgs) Tuple[str, CommandArgs] 🔗 3155
当发出文本命令时调用。监听器可以返回一个 `` (command, arguments)`` 元组来重写命令,或者返回
None
来以未修改的方式运行命令。
- on_post_text_command(command_name: str, args: CommandArgs)🔗
在执行文本命令后调用。
- class sublime_plugin.TextChangeListener🔗 4081
Bases:
object
一个类,提供关于对特定 Buffer 进行的文本更改的事件处理。与
ViewEventListener
分开,因为多个视图可以共享一个 Buffer。- on_text_changed(changes: List[TextChange])🔗
在对 Buffer 进行更改后调用一次,并提供有关更改内容的详细信息。
- on_text_changed_async(changes: List[TextChange]):
与
on_text_changed
相同,但在单独的线程中运行,不会阻塞应用程序。
- on_revert()🔗
在 Buffer 被还原时调用。
还原不会触发文本更改。如果此处需要 Buffer 的内容,请使用
View.substr
。
- on_reload()🔗
在 Buffer 被重新加载时调用。
重新加载不会触发文本更改。如果此处需要 Buffer 的内容,请使用
View.substr
。
- detach()🔗
从 Buffer 中移除此监听器。
异步回调可能在此之后仍然被调用,因为它们是单独排队的。
- 引发
ValueError
: 如果监听器未附加。
- 引发
- attach(buffer: Buffer)🔗
将此监听器附加到缓冲区。
- 引发
ValueError
: 如果监听器已附加。
- 引发