showOpenDialog method
Show open dialog
Implementation
Future<List<String>> showOpenDialog({
bool canSelectFiles = true,
bool canSelectFolders = false,
bool canSelectMany = false,
String? defaultUri,
Map<String, List<String>>? filters,
String? title,
int timeoutSeconds = 30 * 60,
}) async {
final result = await _adapter.sendRequest(
'executeScriptVce',
{
'script': '''
const uris = await context.vscode.window.showOpenDialog({
canSelectFiles: params.canSelectFiles,
canSelectFolders: params.canSelectFolders,
canSelectMany: params.canSelectMany,
defaultUri: params.defaultUri ? context.vscode.Uri.file(params.defaultUri) : undefined,
filters: params.filters,
title: params.title
});
return uris ? uris.map(uri => uri.fsPath) : [];
''',
'params': {
'canSelectFiles': canSelectFiles,
'canSelectFolders': canSelectFolders,
'canSelectMany': canSelectMany,
'defaultUri': defaultUri,
'filters': filters,
'title': title,
},
},
scriptName: 'showOpenDialog',
timeout: Duration(seconds: timeoutSeconds),
);
if (result['success'] == true) {
return (result['result'] as List).cast<String>();
}
return [];
}