插件api
activeTextEditor
当前激活也就是当前打开的编辑器
showOpenDialog
类型:
(options?: OpenDialogOptions): Thenable<Uri[] | undefined>
(options?: OpenDialogOptions): Thenable<Uri[] | undefined>
说明:向用户显示一个文件打开对话框,允许用户选择一个文件进行打开
属性 | 描述 |
---|---|
options?: OpenDialogOptions | 控制对话框的选项 |
返回 | 描述 |
---|---|
Thenable<Uri[] | 解析为所选资源或未定义资源的承诺 |
OpenDialogOptions
打开文件弹窗的配置选项
属性 | 描述 |
---|---|
canSelectFiles?: boolean | 允许选择文件,默认为true |
canSelectFolders?: boolean | 允许选择文件夹,默认为false |
canSelectMany?: boolean | 允许选择多个文件或文件夹 |
defaultUri?: Uri | 打开时默认选择的资源 |
filters?: | 对话框使用的一组文件筛选器。每个条目都是一个人类可读的标签,比如“TypeScript”,以及一系列扩展名,例如"{'Images': ['png', 'jpg'] 'TypeScript': ['ts', 'tsx'] }" |
openLabel?: string | 打开按钮的可读字符串 |
title?: string | 对话标题,此参数可能会被忽略,因为并非所有操作系统都在打开的对话框(例如macOS)上显示标题 |
showInformationMessage
showWarningMessage
showErrorMessage
右下角消息弹窗
window.showInformationMessage("info!")
window.showWarningMessage("warning!")
window.showErrorMessage("error!")
window.showInformationMessage("info!")
window.showWarningMessage("warning!")
window.showErrorMessage("error!")
showInputBox
打开一个输入框,要求用户输入,如果输入框被取消(例如按ESC键),则返回值将为undefined。否则,返回的值将是用户键入的字符串,或者如果用户没有键入任何内容,而是用OK关闭了输入框,则返回的值将是空字符串。
commands
Commands(命令)
触发VSCode中的操作。如果您曾经配置过快捷键(keybinding)
,那么您已经使用过Commands
。Commands
还被插件使用,为用户提供功能,绑定VSCode的UI操作,并实现内部逻辑
executeCommand
触发vscode命令
// 触发鼠标光标向左移动的命令
commands.executeCommand("cursorLeft")
// 触发鼠标光标向左移动的命令
commands.executeCommand("cursorLeft")
vscode.workspace.getConfiguration().get
和vscode.workspace.getConfiguration().update
方法可以获取和设置配置项
Range/范围
一个range(范围)表示两个position(位置)的有序对。 并且范围开始位置一定大于等于结束位置
范围对象是不可变的。 使用 with、intersection 或 union 方法从现有范围派生新范围
with(start?: Position, end?: Position): Range
该函数接受两个可选参数:start 和 end。它基于当前范围(Range)派生一个新的范围。
start 参数表示新范围的起始位置,end 参数表示新范围的结束位置。如果不提供这两个参数,将使用当前范围的起始位置和结束位置作为默认值。
返回的是一个由当前范围派生而来的新范围。如果提供的 start 和 end 与当前范围的起始位置和结束位置相同,那么将返回当前范围本身。
换句话说,这个函数的作用是根据给定的起始位置和结束位置,从当前范围中派生出一个新的范围。如果没有提供不同的起始位置和结束位置,将返回当前范围本身。
intersection(range: Range): Range
该函数接受一个参数 range,该参数表示一个范围(Range)。它将当前范围与给定范围进行比较,如果两个范围有重叠部分,返回的范围将具有较大的起始位置和较小的结束位置。如果没有重叠部分,则返回 undefined。
换句话说,这个函数的目的是找出两个范围的交集,并返回交集所表示的新范围,或者当两个范围没有交集时返回 undefined。
union(other: Range): Range
该函数接受一个参数 other,表示另一个范围(Range)。它计算当前范围与给定范围的并集,并返回一个新的范围。
返回的范围将具有较小的起始位置和较大的结束位置,它包含了当前范围和给定范围的所有位置。
换句话说,这个函数的目的是找出两个范围的并集,并返回并集所表示的新范围。新范围的起始位置将是两个范围起始位置中较小的那个,结束位置将是两个范围结束位置中较大的那个。
Position/位置
表示行和字符的位置,例如光标的位置。 位置对象是不可变的。 使用with 或translate 方法从现有位置导出新位置。
Constructors
new Position(line: number, character: number): Position
new Position(line: number, character: number): Position
根据行号和字符,创建一个Position位置对象
Properties
character: number
从零开始的字符值
line: number
从零开始的行值
Selection/光标
表示编辑器中的文本选择
如果是自左向右选择,光标在最右边,选择范围就是选择开始位置到光标位置,光标位置在选择开始位置之后
如果是自右向左选择,光标在最左边,选择范围就是光标位置到选择开始位置,光标位置在选择开始位置之前
Constructors/构造函数
new Selection(anchor: Position, active: Position): Selection
new Selection(anchor: Position, active: Position): Selection
Properties/属性
active: Position
光标位置。 该位置可能在选择开始位置之前或之后
anchor: Position
选择开始位置。 该位置可能在光标位置之前或之后