Visual studio code VSCode:从同一例程打开文件夹和文件
作为同一操作的一部分,从扩展名打开文件夹和文件的正确方法是什么 似乎是一项简单的任务,但我花了相当长的时间,无法解决它。 我可以很容易地做一个或另一个,但不能同时作为一个单一的操作Visual studio code VSCode:从同一例程打开文件夹和文件,visual-studio-code,Visual Studio Code,作为同一操作的一部分,从扩展名打开文件夹和文件的正确方法是什么 似乎是一项简单的任务,但我花了相当长的时间,无法解决它。 我可以很容易地做一个或另一个,但不能同时作为一个单一的操作 commands.executeCommand('vscode.openFolder', Uri.parse('E:\\dev\\proj')) .then(() => commands.executeCommand('vscode.open',
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的回调
非常感谢您的帮助/提示。我找到了问题的原因。但不是解决办法 显然,打开文件夹会完全终止执行上下文。这是VSCode文档所说的:
请注意,在同一窗口中打开将关闭当前扩展主机进程,并在给定文件夹上启动新进程,除非newWindow参数设置为true。
因此,当前似乎无法在当前窗口中打开特定文件已打开且处于活动状态的文件夹