如何为我的VS Code扩展的输出通道工具栏添加按钮/命令?
VS Code输出通道工具栏添加按钮的可行方案
VS Code目前并没有提供你设想的"output/title"这类直接给输出通道工具栏添加命令按钮的贡献点,不过有几种替代方案可以实现类似需求:
自定义Webview面板模拟输出通道
放弃使用原生输出通道,改用Webview面板实现输出展示。这种方式可以完全自定义面板的工具栏,通过view/title贡献点绑定你的命令,不过需要自行实现输出内容渲染、自动滚动、清空等原生输出通道自带的功能。利用命令面板+上下文条件
虽然不是直接在工具栏添加按钮,但可以让用户通过命令面板快速触发针对你的输出通道的命令。在package.json中配置命令的显示条件,借助VS Code内置的activeOutputChannel上下文变量(值为当前激活的输出通道名称):{ "contributes": { "commands": [ { "command": "myExtensionOutputChannelView.cmd", "title": "我的输出通道专属命令" } ], "menus": { "commandPalette": [ { "command": "myExtensionOutputChannelView.cmd", "when": "activeOutputChannel == 'myExtensionOutputChannel'" } ] } } }注意这里的
myExtensionOutputChannel要和你创建输出通道时传入的名称一致(即vscode.window.createOutputChannel('myExtensionOutputChannel')中的参数)。状态栏按钮绑定命令
如果可以接受在状态栏显示按钮,也可以通过statusbar贡献点配置,同样用activeOutputChannel控制按钮仅在你的输出通道激活时显示:{ "contributes": { "statusbar": [ { "command": "myExtensionOutputChannelView.cmd", "when": "activeOutputChannel == 'myExtensionOutputChannel'", "alignment": "right", "priority": 100 } ] } }
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

