【发布时间】:2017-05-22 23:53:48
【问题描述】:
作为同一操作的一部分,从扩展名中打开文件夹和文件的正确方法是什么?
似乎是一项简单的任务,但我花了相当长的时间却无法解决。 我可以轻松地做一个或另一个,但不能将两者都作为一个单一的操作。
commands.executeCommand('vscode.openFolder',
Uri.parse('E:\\dev\\proj'))
.then(() => commands.executeCommand('vscode.open',
Uri.file('E:\\dev\\files\\file.json'));
上面的代码打开了一个文件夹,但没有打开文件。从调试器中我看到vscode.open 命令被触发但文件没有打开。并且让“vscode.open”只能按预期打开文件。
似乎在打开文件夹后整个执行上下文都消失了。
我做了这个残酷的实验:
setTimeout(() => commands.executeCommand('vscode.open',
Uri.file('E:\\dev\\files\\file.json'), 3000);
commands.executeCommand('vscode.openFolder',
Uri.parse('E:\\dev\\proj'))
如果调用vscode.openFolder,则永远不会调用setTimeout的回调。
将不胜感激任何帮助/提示。
【问题讨论】:
-
请分享您是如何解决此案的。如果您对此有任何想法,那就太好了。