跳到主要内容

vscode.window

当前窗口的界面:可见编辑器、消息、选择、输入,以及状态栏、终端、树、网页视图。

编辑器状态​

成员作用
activeTextEditor当前活动文本编辑器,可能是 undefined
visibleTextEditors所有可见文本编辑器
onDidChangeActiveTextEditor活动编辑器变了
onDidChangeVisibleTextEditors可见集合变了
onDidChangeTextEditorSelection选区变了。事件里有 TextEditorSelectionChangeKind,能区分键盘和鼠标
onDidChangeActiveColorTheme主题变了
tabGroups标签组,可关闭标签
state / onDidChangeWindowState窗口是否获得焦点

笔记本编辑器有对应的 activeNotebookEditor 和可见范围事件。

询问用户​

方法作用
showInformationMessage / showWarningMessage / showErrorMessage右下角消息。可带按钮,返回用户点的项
showQuickPick列表选择。canPickMany: true 时返回数组
showInputBox单行输入,可校验
showOpenDialog / showSaveDialog系统打开、保存对话框
showWorkspaceFolderPick多根工作区里选一个文件夹
createQuickPick / createInputBox要自己控制显示时机、动态改条目时用它们,而不是上面的一次性函数

这些 Thenable 在用户取消时解析为 undefined。耗时操作传入 CancellationToken。

打开与装饰​

方法作用
showTextDocument打开文档到指定 ViewColumn,或只改变焦点
createTextEditorDecorationType创建一类装饰(背景、边框、行尾文字)。具体范围用 editor.setDecorations

状态栏、输出、终端​

方法作用
createStatusBarItem状态栏一项。设置 text、tooltip、command 后 show()
setStatusBarMessage临时文字,可按超时或 Thenable 结束自动隐藏
createOutputChannel输出面板。第二个参数 { log: true } 得到带日志级别的 LogOutputChannel
createTerminal创建终端。传入 ExtensionTerminalOptions 时由扩展实现 Pseudoterminal
onDidOpenTerminal / onDidCloseTerminal终端开关
registerTerminalLinkProvider终端里的可点击链接
registerTerminalProfileProvider终端配置档案

树、网页、其他​

方法作用
registerTreeDataProvider给已贡献的视图 ID 提供树数据
createTreeView同上,并返回 TreeView,才能 reveal、读选中
createWebviewPanel编辑器区网页面板
registerWebviewViewProvider侧栏网页视图
registerWebviewPanelSerializer重启后恢复网页面板
registerCustomEditorProvider自定义编辑器
registerUriHandler处理 vscode:// 打开
registerFileDecorationProvider资源管理器里文件的徽章和颜色
withProgress通知或状态栏上的进度条

参考​