vscode.commands.executeCommand("workbench.action.quickOpen", content);
这个命令运行时会弹窗的,但是在 vscode terminal 里面的 Open File in editor
不需要弹窗直接就跳过去了,这个怎么做的?
1
imn1 2020-08-29 20:46:43 +08:00 1
本身就是终端,还弹什么呢?
|
2
geelaw 2020-08-29 21:00:12 +08:00 1
因为 quickOpen 命令的含义是:打开“转到文件”对话框。它的作用是让用户选择要打开的文件,而不是打开一个文件。
什么叫做“在 vscode terminal 里面的 Open File in editor”?你是指在内置终端里用 START / Start-Process / Invoke-Item / open 等打开一个和 VSCode 关联的文件时,VSCode 打开了文件,这个现象吗? 那些命令和 quickOpen 没关系,纯粹就是“一个程序使用默认关联打开文件,于是关联程序处理了这个请求”的结果。那些命令根本不关心自己是不是从 VSCode 内置的终端里发出的,也不可能有“得用 vscode.commands 让 VSCode 打开文件”的逻辑。 换个方式问你的问题:为什么运行 code C:\1.txt 会导致 VSCode 打开 C:\1.txt 而不是“转到文件”对话框? |