什么 vs 命令从 URI 路径打开 vscode 中的文件?
What vs command opens files in vscode from URI paths?
我有一个数组,其中包含工作区中文件的路径。
我想执行一个打开所有这些文件的命令。我使用哪个命令?
这是我的路径的数组示例:
["/c:/Users/User/Desktop/Kod/extension/src/home.ts", /c:/Users/User/Desktop/Kod/extension/src/main.ts]
我从执行此功能的网络视图发送这些路径:
webviewView.webview.onDidReceiveMessage(async (data) => {
const { tabPaths, name, isOpen } = data.value;
switch (data.type) {
case "onOpenTabs": {
if (!data.value || !tabPaths) {
return;
}
tabPaths.forEach(path => {
vscode.commands.executeCommand("vscode.open", path);
});
break;
}
});
我可以确认我在 onDidReceiveMessages
中获得了路径。
然后我尝试 vscode.open
命令但我收到此错误消息:
是不是命令错误?我可以做点别的吗?
啊!行。感谢 Mark and rioV8 我知道了答案。我没有保存有效的文本文档。
相反,我只是按原样保存一个 vscode.workspace.textDocuments
数组。像这样:
const paths = vscode.workspace.textDocuments.map(
(doc) => doc
);
然后使用 vscode.window.showTextDocument
而不是 vscode.commands.executeCommand
打开它们。像这样:
paths.forEach(doc => {
vscode.window.showTextDocument(doc);
});
非常简单而且有效。谢谢。
我有一个数组,其中包含工作区中文件的路径。 我想执行一个打开所有这些文件的命令。我使用哪个命令?
这是我的路径的数组示例: ["/c:/Users/User/Desktop/Kod/extension/src/home.ts", /c:/Users/User/Desktop/Kod/extension/src/main.ts]
我从执行此功能的网络视图发送这些路径:
webviewView.webview.onDidReceiveMessage(async (data) => {
const { tabPaths, name, isOpen } = data.value;
switch (data.type) {
case "onOpenTabs": {
if (!data.value || !tabPaths) {
return;
}
tabPaths.forEach(path => {
vscode.commands.executeCommand("vscode.open", path);
});
break;
}
});
我可以确认我在 onDidReceiveMessages
中获得了路径。
然后我尝试 vscode.open
命令但我收到此错误消息:
是不是命令错误?我可以做点别的吗?
啊!行。感谢 Mark and rioV8 我知道了答案。我没有保存有效的文本文档。
相反,我只是按原样保存一个 vscode.workspace.textDocuments
数组。像这样:
const paths = vscode.workspace.textDocuments.map(
(doc) => doc
);
然后使用 vscode.window.showTextDocument
而不是 vscode.commands.executeCommand
打开它们。像这样:
paths.forEach(doc => {
vscode.window.showTextDocument(doc);
});
非常简单而且有效。谢谢。