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 通过命令面板运行时,接受用户的输入

插件生命周期🔗

如果插件定义了一个模块级函数 plugin_loaded(),则在 API 准备好使用时将调用此函数。插件还可以定义 plugin_unloaded(),以便在插件卸载之前收到通知。

线程🔗

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

单位和坐标🔗

接受或返回坐标或尺寸的 API 函数使用设备无关像素 (dip) 值。虽然在某些情况下这些将等效于设备像素,但这通常并非如此。根据 CSS 规范,minihtml 将 px 单位视为设备无关。

类型🔗

sublime.DIP = float🔗

表示设备无关像素位置。

sublime.Vector = tuple[DIP, DIP]🔗

表示 X 和 Y 坐标。

sublime.Point = int🔗

表示编辑器缓冲区开头的偏移量。

sublime.Value = bool | str | int | float | list[Value] | dict[str, Value] | None🔗

一个 JSON 等效的值。

sublime.CommandArgs = dict[str, Value] | None🔗

命令的参数可以是 Nonedict,其中包含 str 键。

sublime.Kind = tuple[KindId, str, str]🔗

关于符号类型元数据,例如 CompletionItemQuickPanelItemListInputItem。控制在项目左侧显示的“图标”中显示的颜色和字母。

sublime.Event = dict🔗

包含有关用户与菜单、命令面板选择、快速面板选择或 HTML 文档交互的信息。以下方法用于指示需要事件 dict

该字典可能包含以下零个或多个键,具体取决于用户交互。

"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 元素 tuplelist

    一对字符串 - 触发器和替换

    [
        ["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 }"]
    ]
    
  • CompletionItem 对象

    包含触发器、替换、注释和类型元数据的对象

    [
        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 模块🔗

class sublime.HoverZone🔗
4132 3.8

基类:IntEnum

打开文本表中鼠标可以悬停的区域。

参见 EventListener.on_hoverViewEventListener.on_hover

为了向后兼容,这些值也可以在枚举之外使用 HOVER_ 前缀。

TEXT = 1🔗

鼠标悬停在文本上。

GUTTER = 2🔗

鼠标悬停在边距上。

MARGIN = 3🔗

鼠标悬停在行右侧的空白处。

class sublime.NewFileFlags🔗
4132 3.8

基类:IntFlag

用于以各种方式创建/打开文件的标志。

请参阅 Window.new_html_sheetWindow.new_fileWindow.open_file

为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。

NONE = 0🔗
ENCODED_POSITION = 1🔗

表示应在文件名中搜索 :row:row:col 后缀。

TRANSIENT = 4🔗

仅以预览方式打开文件:在修改之前不会为其分配选项卡。

FORCE_GROUP = 8🔗

如果文件在不同的组中打开,则不要选择它。而是将在所需组中创建该文件的新的克隆。

SEMI_TRANSIENT = 16🔗
4096

如果新创建了工作表,它将被设置为半瞬态。半瞬态工作表通常会替换其他半瞬态工作表。这用于侧边栏预览。仅对 ADD_TO_SELECTIONREPLACE_MRU 有效。

ADD_TO_SELECTION = 32🔗
4050

将文件添加到组中当前选定的工作表中。

REPLACE_MRU = 64🔗
4096

导致工作表替换当前工作表选择中最常使用的工作表。

CLEAR_TO_RIGHT = 128🔗
4100

在打开文件之前,将取消选择最常使用工作表右侧的所有当前选定工作表。仅与 ADD_TO_SELECTION 结合使用有效。

FORCE_CLONE = 256🔗

如果文件已打开,则不要选择它。而是将在所需组中创建该文件的新的克隆。

class sublime.FindFlags🔗
4132 3.8

基类:IntFlag

View 中搜索时使用的标志。

参见 View.findView.find_all.

为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。

NONE = 0🔗
LITERAL = 1🔗

查找模式是否应按字面意思匹配或作为正则表达式匹配。

IGNORECASE = 2🔗

匹配查找模式时是否应考虑大小写。

WHOLEWORD = 4🔗
4149

是否只匹配整个单词。

REVERSE = 8🔗
4149

是否向后搜索。

WRAP = 16🔗
4149

到达末尾时是否环绕。

class sublime.QuickPanelFlags🔗
4132 3.8

基类:IntFlag

用于快速面板的标志。

参见 Window.show_quick_panel.

为了向后兼容,这些值也可以在枚举之外使用(没有前缀)。

NONE = 0🔗
MONOSPACE_FONT = 1🔗

使用等宽字体。

KEEP_OPEN_ON_FOCUS_LOST = 2🔗

如果窗口失去输入焦点,则保持快速面板打开。

WANT_EVENT = 4🔗
4096

将第二个参数传递给 on_done 回调,一个 Event.

class sublime.PopupFlags🔗
4132 3.8

基类: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

在输入字符时隐藏弹出窗口。

class sublime.RegionFlags🔗
4132 3.8

基类: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🔗
class sublime.QueryOperator🔗
4132 3.8

基类:IntEnum

枚举查询上下文时可使用的运算符。

请参阅 EventListener.on_query_contextViewEventListener.on_query_context

为了向后兼容,这些值也可以在枚举之外使用 OP_ 前缀。

EQUAL = 0🔗
NOT_EQUAL = 1🔗
REGEX_MATCH = 2🔗
NOT_REGEX_MATCH = 3🔗
REGEX_CONTAINS = 4🔗
NOT_REGEX_CONTAINS = 5🔗
class sublime.PointClassification🔗
4132 3.8

基类: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🔗

点是空行。

class sublime.AutoCompleteFlags🔗
4132 3.8

基类: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 更改补全顺序。

class sublime.DialogResult🔗
4132 3.8

基类:IntEnum

来自 是/否/取消 对话框的结果。参见 yes_no_cancel_dialog.

为了向后兼容,这些值也可以在枚举之外使用 DIALOG_ 前缀。

CANCEL = 0🔗
YES = 1🔗
NO = 2🔗
class sublime.PhantomLayout🔗
4132 3.8

基类:IntEnum

如何定位 Phantom。参见 PhantomSet.

为了向后兼容,这些值也可以在枚举之外使用 LAYOUT_ 前缀。

INLINE = 0🔗

幻影位于其 Region 开头的文本内联。

BELOW = 1🔗

幻影位于该行的下方,与 Region 的开头左对齐。

BLOCK = 2🔗

幻影位于该行的下方,与该行的开头左对齐。

class sublime.KindId🔗
4132 3.8

基类: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
class sublime.SymbolSource🔗
4132 3.8

基类:IntEnum

参见 Window.symbol_locations.

为了向后兼容,这些值也可以在枚举之外使用 SYMBOL_SOURCE_ 前缀。

ANY = 0🔗
4085

使用任何来源 - 索引和打开的文件。

INDEX = 1🔗
4085

使用在扫描项目文件夹中的文件时创建的索引。

OPEN_FILES = 2🔗
4085

使用打开的文件,无论是否保存。

class sublime.SymbolType🔗
4132 3.8

基类:IntEnum

参见 Window.symbol_locationsView.indexed_symbol_regions.

为了向后兼容,这些值也可以在枚举之外使用 SYMBOL_TYPE_ 前缀。

ANY = 0🔗
4085

任何符号类型 - 既包括定义也包括引用。

DEFINITION = 1🔗
4085

仅定义。

REFERENCE = 2🔗
4085

仅引用。

class sublime.CompletionFormat🔗
4132 3.8

基类:IntEnum

完成文本的格式。参见 CompletionItem.

为了向后兼容,这些值也可以在枚举之外使用 COMPLETION_FORMAT_ 前缀。

TEXT = 0🔗
4050

纯文本,完成时文本将逐字插入。

SNIPPET = 1🔗
4050

一个片段,包含 $ 变量。另请参见 CompletionItem.snippet_completion.

COMMAND = 2🔗
4050

一个命令字符串,格式与 format_command() 返回的格式相同。另请参见 CompletionItem.command_completion().

sublime.version() str🔗
返回值:

版本号。

sublime.platform() Literal['osx', 'linux', 'windows']🔗
返回值:

插件运行的平台。

sublime.arch() Literal['x32', 'x64', 'arm64']🔗
返回值:

CPU 架构。

sublime.channel() Literal['dev', 'stable']🔗
返回值:

Sublime Text 此版本的发布渠道。

sublime.executable_path() str🔗

可以在导入时调用。

4081
返回值:

Sublime Text 主可执行文件的路径。

sublime.executable_hash() tuple[str, str, str]🔗

可以在导入时调用。

4081
返回值:

一个元组,唯一标识 Sublime Text 的安装。

sublime.packages_path() str🔗

可以在导入时调用。

4081
返回值:

“Packages” 文件夹的路径。

sublime.installed_packages_path() str🔗

可以在导入时调用。

4081
返回值:

“Installed Packages” 文件夹的路径。

sublime.cache_path() str🔗

可以在导入时调用。

4081
返回值:

Sublime Text 存储缓存文件的路径。

sublime.status_message(msg: str)🔗

在状态栏中显示一条消息。

sublime.error_message(msg: str)🔗

显示一个错误对话框。

sublime.message_dialog(msg: str)🔗

显示一个消息对话框。

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

保存对话框中使用的默认扩展名。

sublime.select_folder_dialog(callback: Callable[[str | list[str] | None], None], directory: str | None = None, multi_select=False)🔗
4075

显示选择文件夹对话框。

参数:
callback

对话框关闭后,使用选定的路径(或 None)调用。

directory

对话框应从哪个目录开始。如果未提供,将使用虚拟工作目录。

multi_select

是否允许选择多个文件。当 True 时,回调将使用列表调用。

sublime.choose_font_dialog(callback: Callable[[Value], None], default: Value = None)🔗
4157

显示一个选择字体的对话框。

参数:
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。

sublime.get_clipboard_async(callback: Callable[[str], None], size_limit: int = 16777216)🔗
4075

在回调中获取剪贴板的内容。

出于性能原因,如果剪贴板内容的大小超过 size_limit,则将空字符串传递给回调。

sublime.get_clipboard(size_limit: int = 16777216) str🔗

获取剪贴板的内容。

出于性能原因,如果剪贴板内容的大小超过 size_limit,则将返回空字符串。

已弃用:

请使用 get_clipboard_async 代替。

4075
sublime.set_clipboard(text: str)🔗

设置剪贴板的内容。

sublime.log_commands(flag: bool | None = None)🔗

控制运行时命令是否记录到控制台。

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_commands() bool🔗
4099

获取命令记录是否已启用。

sublime.log_input(flag: bool | None = None)🔗

控制所有按键是否记录到控制台。使用此功能查找键盘上某些键的名称。

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_input() bool🔗
4099

获取输入记录是否已启用。

sublime.log_fps(flag: bool | None = None)🔗
4099

控制是否记录渲染计时,例如每秒帧数。

参数:
flag

是否记录。传递 None 切换记录。

sublime.get_log_fps() bool🔗
4099

获取 FPS 记录是否已启用。

sublime.log_result_regex(flag: bool | None = None)🔗

控制结果正则表达式记录是否已启用。使用此功能调试构建系统中的 "file_regex""line_regex"

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_result_regex() bool🔗
4099

获取结果正则表达式日志是否已启用。

sublime.log_indexing(flag: bool | None = None)🔗

控制是否将索引日志打印到控制台。

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_indexing() bool🔗
4099

获取索引日志是否已启用。

sublime.log_build_systems(flag: bool | None = None)🔗

控制是否将构建系统日志打印到控制台。

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_build_systems() bool🔗
4099

获取构建系统日志是否已启用。

sublime.log_control_tree(flag: bool | None = None)🔗
4064

控制是否启用控制树日志记录。启用后,使用 Ctrl+Alt 点击将记录鼠标下的控制树到控制台。

参数:
flag

是否记录。 传递 None 切换记录。 4099

sublime.get_log_control_tree() bool🔗
4099

获取控制树日志记录是否已启用。

sublime.ui_info() dict🔗
4096
返回值:

有关用户界面的信息,包括顶级键 systemthemecolor_scheme

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.find_resources(pattern: str) list[str]🔗

查找文件名与给定通配符模式匹配的资源。

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.save_settings(base_name: str)🔗

将任何内存中的更改刷新到命名设置对象到磁盘。

sublime.set_timeout(callback: Callable, delay: int = 0)🔗

在给定的 delay(以毫秒为单位)之后,在主线程中运行 callback。具有相同延迟的回调将按照添加顺序运行。

sublime.set_timeout_async(callback: Callable, delay: int = 0)🔗

在给定的延迟(以毫秒为单位)之后,在另一个线程上运行回调。

sublime.active_window() Window🔗
返回值:

最近使用的 Window

sublime.windows() list[sublime.Window]🔗
返回值:

所有打开的窗口列表。

sublime.get_macro() list[dict]🔗
返回值:

当前录制宏的命令和参数列表。每个 dict 将包含键 "command""args"

sublime.project_history() list[str]🔗
4144
返回值:

最近打开的工作区列表。具有相同名称的 Sublime-project 文件将代替 Sublime-workspace 文件列出。

sublime.folder_history() list[str]🔗
4144
返回值:

添加到 Sublime 项目中的最近文件夹列表

class sublime.Window🔗

Bases: object

id() int🔗
返回值:

一个唯一标识此窗口的数字。

is_valid() bool🔗

检查此窗口是否仍然有效。例如,对于已关闭的窗口,将返回 False

hwnd() int🔗
返回值:

平台特定的窗口句柄。仅限 Windows。

active_sheet() Sheet | None🔗
返回值:

当前获得焦点的 Sheet

active_view() View | None🔗
返回值:

当前正在编辑的 View

new_html_sheet(name: str, contents: str, flags=NewFileFlags.NONE, group=-1) Sheet🔗
4065

使用 minihtml 参考 构建一个包含 HTML 内容的 sheet。

参数:
name

要在标签中显示的 sheet 的名称。

contents

sheet 的 HTML 内容。

flags

仅允许 NewFileFlags.TRANSIENTNewFileFlags.ADD_TO_SELECTION

group

要添加 sheet 的组。 -1 表示活动组。

run_command(cmd: str, args: CommandArgs = None)🔗

使用给定的参数(可选)运行命名的 WindowCommand。此方法能够运行任何类型的命令,通过输入焦点分发命令。

new_file(flags=NewFileFlags.NONE, syntax='') View🔗

创建一个新的空文件。

参数:
flags

可以是 0NewFileFlags.TRANSIENTNewFileFlags.ADD_TO_SELECTION

语法

要应用于文件的语法名称。

返回值:

文件的视图。

open_file(fname: str, flags=NewFileFlags.NONE, group=-1) View🔗

打开指定的文件。如果文件已打开,则将其置于最前面。请注意,由于文件加载是异步的,因此在返回视图的 is_loading() 方法返回 False 之前,无法对返回视图进行操作。

参数:
fname

要打开的文件的路径。

flags

NewFileFlags

group

要添加 sheet 的组。 -1 表示活动组。

find_open_file(fname: str, group=-1) View | None🔗

按文件名查找打开的文件。

参数:
fname

要打开的文件的路径。

group

要搜索文件的组。 -1 表示任何组。

返回值:

文件的 View,如果文件未打开,则为 None

file_history() list[str]🔗

获取之前打开的文件列表。这与“文件 > 最近打开”中的列表相同。

num_groups() int🔗
返回值:

窗口中视图组的数量。

active_group() int🔗
返回值:

当前选定组的索引。

focus_group(idx: int)🔗

将焦点设置到指定的组,使其成为活动组。

focus_sheet(sheet: Sheet)🔗

切换到给定的 Sheet.

focus_view(view: View)🔗

切换到给定的 View.

select_sheets(sheets: list[sublime.Sheet])🔗
4083

更改整个窗口的选定工作表。

bring_to_front()🔗

将窗口置于所有其他窗口的前面。

get_sheet_index(sheet: Sheet) tuple[int, int]🔗
返回值:

给定的 Sheet 在组中的组和索引的元组。

get_view_index(view: View) tuple[int, int]🔗
返回值:

给定的 View 在组中的组和索引的元组。

set_sheet_index(sheet: Sheet, group: int, index: int)🔗

将给定的 Sheet 移动到给定 group 的给定 index 位置。

set_view_index(view: View, group: int, index: int)🔗

将给定的 View 移动到给定 group 的给定 index 位置。

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
返回值:

指定组中的所有选定工作表。

active_sheet_in_group(group: int) Sheet | None🔗
返回值:

给定组中当前聚焦的Sheet

active_view_in_group(group: int) View | None🔗
返回值:

给定组中当前聚焦的View

sheets_in_group(group: int) list[sublime.Sheet]🔗
返回值:

指定组中的所有工作表的列表。

views_in_group(group: int) list[sublime.View]🔗
返回值:

指定组中的所有视图的列表。

num_sheets_in_group(group: int) int🔗
返回值:

指定组中的工作区数量。

num_views_in_group(group: int) int🔗
返回值:

指定组中的视图数量。

transient_sheet_in_group(group: int) Sheet | None🔗
返回值:

指定组中的瞬时工作区。

transient_view_in_group(group: int) View | None🔗
返回值:

指定组中的瞬时视图。

promote_sheet(sheet: Sheet)🔗

如果参数 ‘Sheet’ 是半瞬时或瞬时,则提升它。

:

4135

layout() dict[str, Value]🔗

获取窗口的组布局。

get_layout()🔗
已弃用:

请使用 layout() 代替

set_layout(layout: dict[str, Value])🔗

设置窗口的组布局。

create_output_panel(name: str, unlisted=False) View🔗

查找与命名输出面板关联的视图,如果需要则创建它。输出面板可以通过运行 show_panel 窗口命令来显示,并将 panel 参数设置为带有 "output." 前缀的名称。

可选的 unlisted 参数是一个布尔值,用于控制输出面板是否应该在面板切换器中列出。

find_output_panel(name: str) View | None🔗
返回值:

与命名输出面板关联的 View,如果输出面板不存在,则为 None

destroy_output_panel(name: str)🔗

销毁命名输出面板,如果当前已打开,则将其隐藏。

active_panel() str | None🔗

返回当前打开的面板的名称,如果未打开任何面板,则返回 None。除了输出面板之外,还会返回内置面板名称(例如 "console""find" 等)。

panels() list[str]🔗

返回所有未被标记为未列出的面板的名称列表。除了输出面板之外,还包括某些内置面板。

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

可以是字符串列表,也可以是字符串列表的列表,其中第一个项目是触发器,所有后续字符串是显示在下面的详细信息。

可以是 QuickPanelItem

4083

on_select

在快速面板完成时,使用所选项目的索引调用。如果面板被取消,则使用 -1 调用。

QuickPanelFlags.WANT_EVENT 标志存在时,可以传递第二个 Event 参数。

4096

flags

QuickPanelFlags 控制行为。

selected_index

最初选定的项目。 -1 表示没有选择。

on_highlight

每次快速面板中突出显示的项目更改时都会调用。

placeholder
4081

在输入任何查询之前,在过滤器输入字段中显示的文本。

is_sidebar_visible() bool🔗
返回值:

侧边栏是否可见。

set_sidebar_visible(flag: bool, animate=True)🔗

隐藏或显示侧边栏。

is_minimap_visible() bool🔗
返回值:

迷你地图是否可见。

set_minimap_visible(flag: bool)🔗

隐藏或显示迷你地图。

is_status_bar_visible() bool🔗
返回值:

状态栏是否可见。

set_status_bar_visible(flag: bool)🔗

隐藏或显示状态栏。

get_tabs_visible() bool🔗
返回值:

标签页是否可见。

set_tabs_visible(flag: bool)🔗

隐藏或显示标签页。

is_menu_visible() bool🔗
返回值:

菜单是否可见。

set_menu_visible(flag: bool)🔗

隐藏或显示菜单。

folders() list[str]🔗
返回值:

Window 中当前打开的文件夹列表。

project_file_name() str | None🔗
返回值:

当前打开的项目文件名称(如果有)。

workspace_file_name() str | None🔗
4050
返回值:

当前打开的工作区文件名称(如果有)。

project_data() Value🔗
返回值:

与当前窗口关联的项目数据。数据格式与 .sublime-project 文件的内容相同。

set_project_data(data: Value)🔗

更新与当前窗口关联的项目数据。如果窗口与 .sublime-project 文件关联,则项目文件将在磁盘上更新,否则窗口将在内部存储数据。

settings() Settings🔗
返回值:

WindowSettings 对象。对该设置对象的任何更改都将特定于此窗口。

template_settings() Settings🔗
返回值:

每个窗口的设置,这些设置在会话中持久化,并复制到新窗口中。

symbol_locations(sym: str, source=SymbolSource.ANY, type=SymbolType.ANY, kind_id=KindId.AMBIGUOUS, kind_letter='') list[sublime.SymbolLocation]🔗
4085

查找符号 sym 所在的所有位置。

参数:
sym

符号的名称。

source

应该搜索符号的来源。

type

要查找的符号类型

kind_id

符号的 KindId

kind_letter

表示符号类型的字母。参见 Kind

返回值:

找到的符号位置。

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() 一起使用。

status_message(msg: str)🔗

在状态栏中显示一条消息。

class sublime.Edit🔗

Bases: object

一组缓冲区修改。

Edit 对象传递给 TextCommand,用户无法创建它们。使用无效的 Edit 对象或来自不同 View 的 Edit 对象会导致需要它们的函数失败。

class sublime.Region🔗

Bases: object

单个选择区域。此区域有顺序 - b 可能在 a 之前或在 a 处。

也常用于表示文本缓冲区区域,其中顺序和 xpos 通常被忽略。

a: Point🔗

区域的第一个端点。

b: Point🔗

区域的第二个端点。在选择中,这是光标的位置。可能小于 a

xpos: DIP🔗

在选择中,这是区域的目标水平位置。这会影响按下向上或向下键时的行为。如果未定义,请使用 -1

__len__() int🔗
返回值:

区域的大小。

__contains__(v: Region | Point) bool🔗
4023 3.8
返回值:

提供的 RegionPoint 是否完全包含在此区域内。

to_tuple() tuple[Point, Point]🔗
4075
返回值:

此区域作为元组 (a, b)

empty() bool🔗
返回值:

区域是否为空,即 a == b

begin() Point🔗
返回值:

ab 中较小的那个。

end() Point🔗
返回值:

ab 中较大的那个。

size() int🔗

等同于 __len__

contains(x: Point) bool🔗

等同于 __contains__

cover(region: Region) Region🔗
返回值:

一个跨越两个区域的 Region

intersection(region: Region) Region🔗
返回值:

一个被两个区域覆盖的 Region

intersects(region: Region) bool🔗
返回值:

提供的区域是否与当前区域相交。

class sublime.HistoricPosition🔗
4050

Bases: object

提供 Point 的行和列信息的快照,在对 View 进行更改之前。这主要用于重放对文档的更改。

pt: Point🔗

View 开始的偏移量。

row: int🔗

记录 HistoricPosition 时,.py 所在的行数。

col: int🔗

记录 HistoricPosition 时,.py 所在的列数,以 Unicode 字符为单位。

col_utf16: int🔗
4075

.col 的值,但以 UTF-16 代码单元为单位。

col_utf8: int🔗
4075

.col 的值,但以 UTF-8 代码单元为单位。

class sublime.TextChange🔗
4050

Bases: object

表示对 View 文本所做的更改。这主要用于重放对文档的更改。

a: HistoricPosition🔗

被修改区域的起始 HistoricPosition

b: HistoricPosition🔗

被修改区域的结束 HistoricPosition

len_utf16: int🔗
4075

旧内容的长度,以 UTF-16 代码单元为单位。

len_utf8: int🔗
4075

旧内容的长度,以 UTF-8 代码单元为单位。

str: str

.a.b 指定区域的内容的字符串。

class sublime.Selection🔗

Bases: object

维护一组排序的非重叠区域。选择可以为空。

这主要用于表示文本选择。

__len__() int🔗
返回值:

选择中区域的数量。

__delitem__(index: int)🔗

删除给定 index 处的区域。

is_valid() bool🔗
返回值:

此选择是否针对有效视图。

clear()🔗

从选择中删除所有区域。

add(x: Region | Point)🔗

RegionPoint 添加到选择中。如果相交,它将与现有区域合并。

add_all(regions: Iterable[Region | Point])🔗

添加给定可迭代对象中的所有区域。

subtract(region: Region)🔗

从选择中减去一个区域,这样整个区域就不再包含在选择中。

contains(region: Region) bool🔗
返回值:

提供的区域是否包含在选择中。

class sublime.Sheet🔗

Bases: object

表示内容容器,即窗口中的选项卡。工作表可以包含视图或图像预览。

id() int🔗
返回值:

一个唯一标识此工作表的数字。

window() Window | None🔗
返回值:

包含此工作表的 Window。如果工作表已关闭,则可能为 None

view() View | None🔗
返回值:

工作表中包含的 View(如果有)。

file_name() str | None🔗
4088
返回值:

与工作表关联的文件的完整名称,如果它不存在于磁盘上,则为 None

is_semi_transient() bool🔗
4080
返回值:

此工作表是否为半瞬态。

is_transient() bool🔗
4080
返回值:

此工作表是否为完全瞬态。

请注意,工作表可以同时作为常规文件打开并为瞬态。在这种情况下,is_transient 仍将返回 False

is_selected() bool🔗
返回值:

此工作表当前是否被选中。

:

4135

group() int | None🔗
4100
返回值:

工作表所在的(布局)组。

close(on_close=<function Sheet.<lambda>>)🔗
4088

关闭工作表。

参数:
on_close

class sublime.TextSheet🔗
4065

Bases: Sheet

包含可编辑文本的表格的专用类,例如 View

set_name(name: str)🔗

设置在标签中显示的名称。仅影响未保存的文件。

class sublime.ImageSheet🔗
4065

Bases: Sheet

包含图像的表格的专用类。

class sublime.HtmlSheet🔗
4065

Bases: Sheet

包含 HTML 的表格的专用类。

set_name(name: str)🔗

设置在标签中显示的名称。

set_contents(contents: str)🔗

设置表格的 HTML 内容。

class sublime.ContextStackFrame🔗
4127

Bases: object

表示语法高亮中的单个堆栈帧。参见 View.context_backtrace

context_name: str🔗

上下文的名称。

source_file: str🔗

定义上下文的的文件名称。

source_location: tuple[int, int]🔗

上下文在源文件中的位置,以行和列对的形式表示。如果位置不清楚,例如在基于 tmLanguage 的语法中,则可能是 (-1, -1)

class sublime.View🔗

Bases: object

表示对文本 Buffer 的视图。

请注意,多个视图可以引用同一个 Buffer,但它们拥有各自独特的选区和几何形状。可以使用 View.clones()Buffer.views() 获取这些视图的列表。

id() int🔗
返回值:

一个唯一标识此视图的数字。

buffer_id() int🔗
返回值:

一个唯一标识此视图的 Buffer 的数字。

buffer() Buffer🔗
返回值:

此视图所对应的 Buffer

sheet_id() int🔗
4083
返回值:

View 所属 Sheet 的 ID,如果不在任何 sheet 中,则为 0

sheet() Sheet | None🔗
4083
返回值:

此视图的 Sheet,如果在 sheet 中显示。

element() str | None🔗
4050
返回值:

对于属于 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 访问。

is_valid() bool🔗

检查此视图是否仍然有效。例如,对于已关闭的视图,将返回 False

is_primary() bool🔗
返回值:

视图是否为 Buffer 的主视图。只有当用户对文件打开了多个视图时,才会为 False

window() Window | None🔗
返回值:

包含视图的窗口的引用(如果有)。

clones() list[sublime.View]🔗
返回值:

指向相同 Buffer 的所有其他视图。参见 View

file_name() str | None🔗
返回值:

与工作表关联的文件的完整名称,如果它不存在于磁盘上,则为 None

close(on_close=<function View.<lambda>>) bool🔗

关闭视图。

retarget(new_fname: str)🔗

更改缓冲区将保存到的文件路径。

name() str🔗
返回值:

分配给缓冲区的名称(如果有)。

set_name(name: str)🔗

为缓冲区分配一个名称。显示为未保存文件的选项卡中的名称。

reset_reference_document()🔗

清除视图的 增量差异 状态。

set_reference_document(reference: str)🔗

使用字符串引用来计算 增量差异 的初始差异。

is_loading() bool🔗
返回值:

缓冲区是否仍在从磁盘加载,尚未准备好使用。

is_dirty() bool🔗
返回值:

缓冲区中是否存在任何未保存的修改。

is_read_only() bool🔗
返回值:

缓冲区是否可能无法修改。

set_read_only(read_only: bool)🔗

设置缓冲区的只读属性。

is_scratch() bool🔗
返回值:

缓冲区是否为一个临时缓冲区。参见 set_scratch().

set_scratch(scratch: bool)🔗

设置缓冲区的 scratch 属性。当修改后的 scratch 缓冲区关闭时,它将关闭而不会提示保存。Scratch 缓冲区永远不会报告为脏的。

encoding() str🔗
返回值:

当前与缓冲区关联的编码。

set_encoding(encoding_name: str)🔗

将新的编码应用于文件。这将在保存文件时使用。

line_endings() str🔗
返回值:

当前与文件关联的编码。

set_line_endings(line_ending_name: str)🔗

设置下次保存时将应用的行尾符。

size() int🔗
返回值:

文件中的字符数。

insert(edit: Edit, pt: Point, text: str) int🔗

将给定的字符串插入缓冲区。

参数:
edit

TextCommand 提供的 Edit 对象。

point

视图中要插入的文本点。

text

要插入的文本。

返回值:

实际插入的字符数。由于制表符转换,这可能与提供的文本不同。

引发 ValueError:

如果 Edit 对象处于无效状态,即在 TextCommand 之外。

erase(edit: Edit, region: Region)🔗

从缓冲区中擦除提供的 Region 的内容。

replace(edit: Edit, region: Region, text: str)🔗

用提供的字符串替换缓冲区中 Region 的内容。

change_count() int🔗

每次修改缓冲区时,更改计数都会递增。更改计数可用于确定缓冲区自上次检查以来是否已更改。

返回值:

当前更改计数。

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

sel() Selection🔗
返回值:

视图的 Selection

substr(x: Region | Point) str🔗
返回值:

提供的 PointRegion 中的字符串。

find(pattern: str, start_pt: Point, flags=FindFlags.NONE) Region🔗
参数:
pattern

要搜索的正则表达式或字面模式。

start_pt

开始搜索的 Point

flags

控制 find 的各种行为。参见 FindFlags

返回值:

第一个匹配提供的模式的 Region

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

一个可选提供的列表,用于将查找结果的内容放入其中。

返回值:

所有(非重叠)匹配模式的区域。

settings() Settings🔗
返回值:

视图的 Settings 对象。对其进行的任何更改都将对该视图私有。

meta_info(key: str, pt: Point) Value🔗

在给定 Point 的作用域中,从所有匹配的 .tmPreferences 文件中查找首选项 key

键的示例包括 TM_COMMENT_STARTshowInSymbolList

extract_tokens_with_scopes(region: Region) list[tuple[sublime.Region, str]]🔗
参数:
region

要从中提取标记和作用域的区域。

返回值:

包含 Region 和每个标记作用域的元组对列表。

extract_scope(pt: Point) Region🔗
返回值:

分配给给定 Point 的字符的语法作用域名称的范围,包括更窄的语法作用域名称。

expand_to_scope(pt: Point, selector: str) Region | None🔗

根据提供的范围选择器从 Point 进行扩展。

参数:
pt

要扩展的点。

selector

要匹配的范围选择器。

返回值:

匹配到的 Region,如果有的话。

scope_name(pt: Point) str🔗
返回值:

指定点处字符所分配的语法范围名称。

context_backtrace(pt: Point) list[ContextStackFrame]🔗
4127

获取提供的 Point 处的 ContextStackFrame 的回溯。

注意,此函数特别慢。

match_selector(pt: Point, selector: str) bool🔗
返回值:

提供的范围选择器是否匹配 Point

score_selector(pt: Point, selector: str) int🔗

等同于

sublime.score_selector(view.scope_name(pt), selector)

参见 sublime.score_selector

find_by_selector(selector: str) list[sublime.Region]🔗

查找文件中所有与给定选择器匹配的区域。

返回值:

匹配区域的列表。

style() dict[str, str]🔗
3150

参见 style_for_scope.

返回值:

视图的全局样式设置。所有颜色都规范化为以井号开头的六位十六进制形式,例如 #ff0000

style_for_scope(scope: str) dict[str, Value]🔗

接受一个字符串范围名称,并返回一个包含以下键的样式信息 dict

  • "foreground": str

  • "selection_foreground": str (仅当设置时)

  • "background": str (仅当设置时)

  • "bold": bool

  • "italic": bool

  • "glow": bool (仅当设置时)

    4063
  • "underline": bool (仅当设置时)

    4075
  • "stippled_underline": bool (仅当设置时)

    4075
  • "squiggly_underline": bool (仅当设置时)

    4075
  • "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 恰好存在于一行上。

line(x: Region | Point) Region🔗
返回值:

包含 Point 或扩展的 Region 到行首/行尾的整行,不包括换行符。

full_line(x: Region | Point) Region🔗
返回值:

包含 Point 或扩展的 Region 到行首/行尾的整行,包括换行符。

word(x: Region | Point) Region🔗
返回值:

包含提供的 Point 的单词。如果提供的是 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🔗

将提供的 PointRegion 向左和向右扩展,直到每侧都落在与提供的 PointClassification 匹配的位置。参见 find_by_class

参数:
classes

要搜索的分类。

separators

在分类时要使用的单词分隔符。

sub_word_separators
4130

在分类时要使用的子词分隔符。

rowcol(tp: Point) tuple[int, int]🔗

计算点的 0 为基准的行号和列号。列号以 Unicode 字符数返回。

rowcol_utf8(tp: Point) tuple[int, int]🔗
4069

计算点的 0 为基线的行号和列号。列号以 UTF-8 代码单元返回。

rowcol_utf16(tp: Point) tuple[int, int]🔗
4069

计算点的 0 为基线的行号和列号。列号以 UTF-16 代码单元返回。

text_point(row: int, col: int, *, clamp_column=False) Point🔗

计算给定 0 为基线的 rowcol 的字符偏移量。 col 被解释为从行首开始前进的 Unicode 字符数。

参数:
clamp_column
4075

是否应该将 col 限制在给定 row 的有效值范围内。

text_point_utf8(row: int, col: int, *, clamp_column=False) Point🔗

计算给定 0 为基线的 rowcol 的字符偏移量。 col 被解释为从行首开始前进的 UTF-8 代码单元数。

参数:
clamp_column
4075

是否应该将 col 限制在给定 row 的有效值范围内。

text_point_utf16(row: int, col: int, *, clamp_column=False) Point🔗

计算给定 0 为基准的 rowcol 的字符偏移量。 col 被解释为从行首开始前进的 UTF-16 代码单元数。

参数:
clamp_column
4075

是否应该将 col 限制在给定 row 的有效值范围内。

utf8_code_units(tp: Point = None) int🔗
next

计算给定文本点处的 utf8 代码单元偏移量。

参数:
tp

应该计算代码单元的文本点。如果未提供,则返回总数。

utf16_code_units(tp: Point = None) int🔗
next

计算给定文本点处的 utf16 代码单元偏移量。

参数:
tp

应该计算代码单元的文本点。如果未提供,则返回总数。

visible_region() Region🔗
返回值:

视图当前可见区域。

show(location: Region | Selection | Point, show_surrounds=True, keep_to_left=False, animate=True)🔗

滚动视图以显示给定位置。

参数:
location

滚动视图到的位置。对于 Selection 仅显示第一个 Region

show_surrounds

是否显示位置周围的上下文。

keep_to_left
4075

如果水平滚动可能,视图是否应保持在左侧。

animate
4075

滚动是否应动画。

show_at_center(location: Region | Point, animate=True)🔗

滚动视图以将位置居中。

参数:
location

要滚动到的 PointRegion

animate
4075

滚动是否应动画。

viewport_position() Vector🔗
返回值:

视窗在布局坐标中的偏移量。

set_viewport_position(xy: Vector, animate=True)🔗

将视窗滚动到给定的布局位置。

viewport_extent() Vector🔗
返回值:

视窗的宽度和高度。

layout_extent() Vector🔗
返回值:

布局的宽度和高度。

text_to_layout(tp: Point) Vector🔗

将文本点转换为布局位置。

text_to_window(tp: Point) Vector🔗

将文本点转换为窗口位置。

layout_to_text(xy: Vector) Point🔗

将布局位置转换为文本点。

layout_to_window(xy: Vector) Vector🔗

将布局位置转换为窗口位置。

window_to_layout(xy: Vector) Vector🔗

将窗口位置转换为布局位置。

window_to_text(xy: Vector) Point🔗

将窗口位置转换为文本点。

line_height() DIP🔗
返回值:

布局中使用的行高。

em_width() DIP🔗
返回值:

布局中使用的典型字符宽度。

is_folded(region: Region) bool🔗
返回值:

提供的 Region 是否折叠。

folded_regions() list[sublime.Region]🔗
返回值:

折叠区域的列表。

fold(x: Region | list[sublime.Region]) bool🔗

折叠提供的 Region

返回值:

如果区域已经折叠,则为 False

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"

3148

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 关联的区域(如果有)。

erase_regions(key: str)🔗

删除与给定 key 关联的区域。

assign_syntax(syntax: str | Syntax)🔗

更改视图使用的语法。 syntax 可以是语法文件的包路径,也可以是 scope: 指定符字符串。

syntax 可以是一个 Syntax 对象。

4080
set_syntax_file(syntax_file: str)🔗
已弃用:

请使用 assign_syntax() 代替。

syntax() Syntax | None🔗
返回值:

分配给缓冲区的语法。

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().

erase_status(key: str)🔗

清除与提供的 key 关联的状态。

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)

overwrite_status() bool🔗
返回值:

覆盖状态,用户通常通过插入键切换该状态。

set_overwrite_status(value: bool)🔗

设置覆盖状态。参见 overwrite_status().

show_popup_menu(items: list[str], on_done: Callable[[int], None], flags=0)🔗

在光标处显示一个弹出菜单,用于从列表中选择一个项目。

参数:
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

当弹出窗口隐藏时调用。

update_popup(content: str)🔗

更新当前可见弹出窗口的内容。

is_popup_visible() bool🔗
返回值:

当前是否显示弹出窗口。

hide_popup()🔗

隐藏当前弹出窗口。

is_auto_complete_visible() bool🔗
返回值:

自动完成菜单当前是否可见。

preserve_auto_complete_on_focus_lost()🔗
4073

设置自动完成弹出窗口状态,以便在下次View失去焦点时保留。当View重新获得焦点时,自动完成窗口将重新显示,并预先选择之前选定的条目。

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_tagsTrue时适用。

font_family

是否在顶级样式中包含字体系列。仅在enclosing_tagsTrue时适用。

clear_undo_stack()🔗
4114

清除撤销/重做堆栈。

class sublime.Buffer🔗
4081

Bases: object

表示文本缓冲区。多个View对象可以共享同一个缓冲区。

id() int🔗
4083

返回一个唯一标识此缓冲区的数字。

file_name() str | None🔗
4083

与缓冲区关联的文件的完整文件名,如果它不存在于磁盘上,则为 None

views() list[sublime.View]🔗

返回与该缓冲区关联的所有视图的列表。

primary_view() View🔗

与该缓冲区关联的主要视图。

class sublime.Settings🔗

Bases: object

一个类似于 dict 的对象,它是一个设置层次结构。

__setitem__(key: str, value: Value)🔗
4023 3.8

将名为 key 的值设置为提供的 value

__delitem__(key: str)🔗
4078 3.8

从设置中删除提供的 key。请注意,父设置也可能提供此键,因此删除可能不会完全删除键。

__contains__(key: str) bool🔗
4023 3.8

返回提供的 key 是否已设置。

to_dict() dict🔗
4078 3.8

将设置作为字典返回。这不太快。

setdefault(key: str, value: Value)🔗
4023 3.8

返回与提供的 key 关联的值。如果它不存在,则提供的 value 将被分配给 key,然后返回。

update(other=(), /, **kwargs)🔗
4078 3.8

使用提供的参数更新设置。

接受

  • 一个 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 中,对属性的更改将不会有任何影响。

region: Region🔗

与幻影关联的 Region。幻影显示在 Region 的开头。

content: str🔗

幻影的 HTML 内容。

layout: PhantomLayout🔗

幻影相对于 region 的放置方式。

on_navigate: Callable[[str], None] | None🔗

当 HTML 中的链接被点击时调用。传递 href 属性的值。

to_tuple() tuple[tuple[Point, Point], str, PhantomLayout, Callable[[str], None] | None]🔗

返回包含该幻影的区域、内容、布局和回调的元组。

使用此方法在集合或类似结构中唯一标识幻影。由于幻影是可变的,因此不能直接使用它们来进行标识。

class sublime.PhantomSet🔗

Bases: object

一个集合,用于管理 Phantom 对象,以及在 View 中添加、更新和删除它们的过程。

__init__(view, key='')🔗
view: View🔗

幻影集所附加的 View

key: str🔗

用于将幻影分组在一起的字符串。

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

表示一个可用的自动补全项。

trigger: str🔗

与用户输入匹配的文本。

annotation: str🔗

在触发器右侧绘制的提示。

completion: str🔗

如果指定了补全,则要插入的文本。如果为空,则将插入 trigger

completion_format: CompletionFormat🔗

完成的格式。参见 CompletionFormat.

kind: Kind🔗

完成的类型。参见 Kind.

details: str🔗
4073

完成的可选 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.syntax_from_path(path: str) Syntax | None🔗

获取特定路径的语法。

返回一个 Syntax 或 None。

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。

class sublime.Syntax🔗
4081

Bases: object

包含有关语法的的信息。

path: str🔗

语法文件的包路径。

name: str🔗

语法的名称。

hidden: bool🔗

语法是否对用户隐藏。

scope: str🔗

语法的基本作用域名称。

class sublime.QuickPanelItem🔗
4083

Bases: object

表示快速面板中的一行,通过 Window.show_quick_panel() 显示。

trigger: str🔗

与用户输入匹配的文本。

details: str | list[str] | tuple[str]🔗

在触发器下方显示的 minihtml 参考 字符串或字符串列表。

annotation: str🔗

绘制到行右侧的提示。

kind: Kind🔗

项目的类型。参见 Kind

class sublime.ListInputItem🔗
4095

Bases: object

表示通过 ListInputHandler 显示的一行。

text: str🔗

与用户输入匹配的文本。

value: Any🔗

如果选中该行,则将传递给命令的 Value

details: str | list[str] | tuple[str]🔗

在触发器下方显示的 minihtml 参考 字符串或字符串列表。

annotation: str🔗

绘制到行右侧的提示。

kind: Kind🔗

项目的类型。参见 Kind

class sublime.SymbolRegion🔗
4085

Bases: object

包含有关 View 中包含符号的 Region 的信息。

name: str🔗

符号的名称。

region: Region🔗

符号在 View 中的位置。

syntax: str🔗

符号的语法名称。

type: SymbolType🔗

符号的类型。参见 SymbolType

kind: Kind🔗

符号的种类。参见 Kind

class sublime.SymbolLocation🔗
4085

Bases: object

包含有关包含符号的文件的信息。

path: str🔗

包含符号的文件的系统路径。

display_name: str🔗

包含符号的文件的项目相对路径。

row: int🔗

符号所在的行的行号。

col: int🔗

符号所在的行的列号。

syntax: str🔗

符号的语法名称。

type: SymbolType🔗

符号的类型。参见 SymbolType

kind: Kind🔗

符号的种类。参见 Kind

sublime_plugin 模块🔗

class sublime_plugin.CommandInputHandler🔗

Bases: object

name() str🔗

此输入处理程序正在编辑的命令参数名称。对于名为 FooBarInputHandler 的输入处理程序,默认值为 foo_bar

placeholder() str🔗

占位符文本在用户输入任何内容之前显示在文本输入框中。默认情况下为空。

initial_text() str🔗

在文本输入框中显示的初始文本。默认情况下为空。

initial_selection() list[tuple[int, int]]🔗
4081

一个包含 2 元素元组的列表,定义初始文本中最初选定的部分。

preview(text: str) str | Html🔗

当用户在输入框中更改文本时调用。返回值(纯文本或 HTML)将显示在命令面板的预览区域中。

validate(text: str) bool🔗

当用户在文本输入框中按回车键时调用。返回 False 以禁止当前值。

cancel()🔗

当输入处理程序被取消时调用,无论是用户按下退格键还是 Esc 键。

confirm(text: str)🔗

当输入被接受时调用,在用户按下回车键并且文本被验证之后。

next_input(args) CommandInputHandler | None🔗

在用户完成当前输入后返回下一个输入。可以返回 None 表示不再需要输入,或者返回 sublime_plugin.BackInputHandler() 表示应该从堆栈中弹出输入处理程序。

want_event() bool🔗
4096

是否应该在 validate()confirm() 方法中接收第二个 Event 参数。默认情况下返回 False

class sublime_plugin.BackInputHandler🔗

继承自: CommandInputHandler

class sublime_plugin.TextInputHandler🔗

继承自: CommandInputHandler

TextInputHandlers 可用于在命令面板中接受文本输入。从 Command.input() 返回此类的子类。

为了让用户看到输入处理程序,返回输入处理程序的命令必须通过将命令添加到 Default.sublime-commands 文件中,使其在命令面板中可用。

description(text: str) str🔗

当此输入处理程序不在输入处理程序堆栈顶部时,在命令面板中显示的文本。默认情况下为用户输入的文本。

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 元素元组

  • 一个 sublime.ListInputItem 对象

    4095
description(value, text: str) str🔗

当此输入处理程序不在输入处理程序堆栈顶部时,在命令面板中显示的文本。默认为用户选择的列表项的文本。

class sublime_plugin.Command🔗

Bases: object

name() str🔗

返回命令的名称。默认情况下,它来自类的名称。

is_enabled() bool🔗

返回命令是否能够在此时运行。命令参数作为关键字参数传递。默认实现始终返回 True

is_visible() bool🔗

返回命令是否应该在此时显示在菜单中。命令参数作为关键字参数传递。默认实现始终返回 True

is_checked() bool🔗

返回菜单项旁边是否应该显示复选框。命令参数作为关键字参数传递。 .sublime-menu 文件必须将 "checkbox" 键设置为 true 才能使用它。

description() str | None🔗

返回具有给定参数的命令的描述。命令参数作为关键字参数传递。用于菜单,如果未提供标题。返回 None 以获取默认描述。

want_event() bool🔗

返回是否在命令由鼠标操作触发时接收 Event 参数。事件信息允许命令确定单击了视图的哪个部分。默认实现返回 False

input(args: dict) CommandInputHandler | None🔗
3154

如果此返回值不是 None,则在命令面板中运行命令之前,将提示用户输入。

input_description() str🔗
3154

允许在输入框光标左侧显示自定义名称,而不是从命令名称生成的默认名称。

run()🔗

在运行命令时调用。命令参数作为关键字参数传递。

class sublime_plugin.ApplicationCommand🔗

Bases: Command

仅实例化一次的 Command

class sublime_plugin.WindowCommand🔗

Bases: Command

每个窗口实例化一次的 Command。可以通过 self.window 获取 Window 对象。

window: Window🔗

此命令所附加的 Window

class sublime_plugin.TextCommand🔗

Bases: Command

每个 View 实例化一次的 Command。可以通过 self.view 获取 View 对象。

view: View🔗

此命令所附加的 View

run(edit: Edit)🔗

在运行命令时调用。命令参数作为关键字参数传递。

class sublime_plugin.EventListener🔗

Bases: object

on_init(views: List[View])🔗
4050

在事件监听器实例化之前加载的视图列表被调用一次。

on_exit()🔗
4050

在 API 关闭后,插件主机进程退出之前立即调用一次。

on_new(view: View)🔗

当创建新文件时调用。

on_new_async(view: View)🔗

当创建新缓冲区时调用。在单独的线程中运行,不会阻塞应用程序。

on_associate_buffer(buffer: View)🔗
4084

当缓冲区与文件关联时调用。buffer 将是一个 Buffer 对象。

on_associate_buffer_async(buffer: View)🔗
4084

当缓冲区与文件关联时调用。在单独的线程中运行,不会阻塞应用程序。buffer 将是一个 Buffer 对象。

on_clone(view: View)🔗

当从现有视图克隆视图时调用。

on_clone_async(view: View)🔗

当从现有视图克隆视图时调用。在单独的线程中运行,不会阻塞应用程序。

on_load(view: View)🔗

当文件加载完成时调用。

on_load_async(view: View)🔗

当文件加载完成时调用。在单独的线程中运行,不会阻塞应用程序。

on_reload(view: View)🔗
4050

当视图重新加载时调用。

on_reload_async(view: View)🔗
4050

当视图重新加载时调用。在单独的线程中运行,不会阻塞应用程序。

on_revert(view: View)🔗
4050

当视图被还原时调用。

on_revert_async(view: View)🔗
4050

当视图被还原时调用。在单独的线程中运行,不会阻塞应用程序。

on_pre_move(view: View)🔗
4050

在视图在两个窗口之间移动之前调用,传递 View 对象。

on_post_move(view: View)🔗
4050

在视图在两个窗口之间移动之后调用,传递 View 对象。

on_post_move_async(view: View)🔗
4050

在视图在两个窗口之间移动之后调用,传递 View 对象。在单独的线程中运行,不会阻塞应用程序。

on_pre_close(view: View)🔗

当视图即将关闭时调用。此时视图仍将在窗口中。

on_close(view: View)🔗

当视图关闭时调用(注意,可能仍有其他视图指向同一个缓冲区)。

on_pre_save(view: View)🔗

在视图保存之前调用。

on_pre_save_async(view: View)🔗

在视图保存之前调用。在单独的线程中运行,不会阻塞应用程序。

on_post_save(view: View)🔗

在视图保存之后调用。

on_post_save_async(view: View)🔗

在视图保存之后调用。在单独的线程中运行,不会阻塞应用程序。

on_modified(view: View)🔗

在视图内容发生更改后调用。

on_modified_async(view: View)🔗

在视图内容发生更改后调用。在单独的线程中运行,不会阻塞应用程序。

on_selection_modified(view: View)🔗

在视图中的选择发生更改后调用。

on_selection_modified_async(view: View)🔗

在视图中的选择发生更改后调用。在单独的线程中运行,不会阻塞应用程序。

on_activated(view: View)🔗

当视图获得输入焦点时调用。

on_activated_async(view: View)🔗

当视图获得输入焦点时调用。在单独的线程中运行,不会阻塞应用程序。

on_deactivated(view: View)🔗

当视图失去输入焦点时调用。

on_deactivated_async(view: View)🔗

当视图失去输入焦点时调用。在单独的线程中运行,不会阻塞应用程序。

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)?

返回值:

TrueFalse 如果插件处理此上下文键,并且它要么匹配,要么不匹配。如果上下文未知,则返回 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)🔗

在窗口命令执行后调用。

on_new_window(window: Window)🔗
4050

当创建窗口时调用,传递 Window 对象。

on_new_window_async(window: Window)🔗
4050

当创建窗口时调用,传递 Window 对象。在单独的线程中运行,不会阻塞应用程序。

on_pre_close_window(window: Window)🔗
4050

在关闭窗口之前调用,传递 Window 对象。

on_new_project(window: Window)🔗
4050

在创建新项目后立即调用,传递 Window 对象。

on_new_project_async(window: Window)🔗
4050

在创建新项目后立即调用,传递 Window 对象。在单独的线程中运行,不会阻塞应用程序。

on_load_project(window: Window)🔗
4050

在加载项目后立即调用,传递 Window 对象。

on_load_project_async(window: Window)🔗
4050

在加载项目后立即调用,传递 Window 对象。在单独的线程中运行,不会阻塞应用程序。

on_pre_save_project(window: Window)🔗
4050

在保存项目之前调用,传递 Window 对象。

on_post_save_project(window: Window)🔗
4050

在保存项目后立即调用,传递 Window 对象。

on_post_save_project_async(window: Window)🔗
4050

在保存项目后立即调用,传递 Window 对象。在单独的线程中运行,不会阻塞应用程序。

on_pre_close_project(window: Window)🔗

在关闭项目之前调用,传递 Window 对象。

class sublime_plugin.ViewEventListener🔗

Bases: object

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

on_load()🔗
3155

当文件加载完成时调用。

on_load_async()🔗
3155

on_load 相同,但在单独的线程中运行,不会阻塞应用程序。

on_reload()🔗
4050

当文件被重新加载时调用。

on_reload_async()🔗
4050

on_reload 相同,但在单独的线程中运行,不会阻塞应用程序。

on_revert()🔗
4050

当文件被还原时调用。

on_revert_async()🔗
4050

on_revert 相同,但在单独的线程中运行,不会阻塞应用程序。

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)?

返回值:

TrueFalse 如果插件处理此上下文键,并且它要么匹配,要么不匹配。如果上下文未知,则返回 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)🔗

在执行文本命令后调用。

classmethod is_applicable(settings: Settings) bool🔗
返回值:

此监听器是否应该应用于具有给定 Settings 的视图。

classmethod applies_to_primary_view_only() bool🔗
返回值:

此监听器是否应仅应用于文件的 primary view,还是也应用于所有克隆。

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_revert_async()🔗

on_revert 相同,但在单独的线程中运行,不会阻塞应用程序。

on_reload()🔗

在 Buffer 被重新加载时调用。

重新加载不会触发文本更改。如果此处需要 Buffer 的内容,请使用 View.substr

on_reload_async()🔗

on_reload 相同,但在单独的线程中运行,不会阻塞应用程序。

classmethod is_applicable(buffer: Buffer)🔗
返回值:

此监听器是否应应用于提供的 Buffer。

detach()🔗

从 Buffer 中移除此监听器。

异步回调可能在此之后仍然被调用,因为它们是单独排队的。

引发 ValueError:

如果监听器未附加。

attach(buffer: Buffer)🔗

将此监听器附加到缓冲区。

引发 ValueError:

如果监听器已附加。

is_attached() bool🔗
返回值:

监听器是否正在接收来自缓冲区的事件。可能无法从 __init__ 中调用。