Согласно документации 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");
});
Но это тоже не работает. По этому поводу очень мало документации, поэтому я не могу понять.