根据API文档,消息框可以采用第二个参数:一个字符串数组,作为消息框上的操作(通常只有一个关闭按钮/操作):
https://code.visualstudio.com/docs/extensionAPI/vscode-api#_window
showInformationMessage(message: string, ...items: string[]): Thenable<string>
所以我尝试了这个:
vscode.window.showInformationMessage('hello world', ['test','taco','cheeseburger'], function(value){
console.log(value + " was clicked");
});
但这似乎不起作用。我得到了消息框以及正常的关闭按钮。但是,关闭按钮的左侧似乎是另一个没有文字或标题的单个按钮。
另一个功能定义是:
showInformationMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T>
所以我尝试过这样的事情:
let message: vscode.MessageItem = { title: 'testing' };
vscode.window.showInformationMessage('hello', [message], function(value){
console.log(value + " was clicked");
});
但这似乎也无济于事。关于这方面的文件很少,所以我无法弄明白。
答案 0 :(得分:7)
vscode.window
.showInformationMessage('hello', 'test', 'taco', 'cheeseburger')
.then(selection => {
console.log(selection);
});
或
vscode.window
.showInformationMessage('hello', ...['test', 'taco', 'cheeseburger'])
.then(selection => {
console.log(selection);
});
两者都会产生如下所示的对话框: