我正在编写一个Visual Studio Code扩展程序,我想能够在响应命令时打开一个带有特定URL的浏览器窗口。我知道Electron有一个BrowserWindow类,但似乎无法从vscode扩展中访问Electron API。
我希望浏览器窗口可以在工具内部打开,如果不可能,也可以在我的默认浏览器中打开网页。
如何从扩展中打开网页?
我正在编写一个Visual Studio Code扩展程序,我想能够在响应命令时打开一个带有特定URL的浏览器窗口。我知道Electron有一个BrowserWindow类,但似乎无法从vscode扩展中访问Electron API。
我希望浏览器窗口可以在工具内部打开,如果不可能,也可以在我的默认浏览器中打开网页。
如何从扩展中打开网页?
这是最近添加的(请参见microsoft/vscode#109276)。
http://
或者 https://
,仅仅输入 www.google.com
或者 localhost:port-number
是不行的,必须是 https://www.google.com
或者 http://localhost:3000
等等。希望这能帮到你们。 - Sanket Sonavane<iframe style="width:800px"" src="http://localhost:8000"></iframe>
中。 - Rodneyexport function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(
vscode.commands.registerCommand('catCoding.start', () => {
// Create and show panel
const panel = vscode.window.createWebviewPanel(
'catCoding',
'Cat Coding',
vscode.ViewColumn.One,
{}
);
// And set its HTML content
panel.webview.html = getWebviewContent();
})
);
}
function getWebviewContent() {
return `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cat Coding</title>
</head>
<body>
<img src="https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy.gif" width="300" />
</body>
</html>`;
}
根据您具体的使用情况,还有浏览器预览扩展程序可供使用,它注册了一个命令browser-preview.openPreview
,您可以使用它(您可能希望将browser-preview列为依赖项以确保其已安装)。env.openExternal
API。在远程环境中运行时,它还会处理端口暴露和映射到暴露的主机名(如果是本地主机服务)。vscode.env.openExternal(Uri.parse("https://www.stackoverflow.com/"));
步骤:
步骤1:打开命令面板{shift+ctrl+p} 步骤2:搜索 -> Simple Browser: view 步骤3:点击它并输入您想查看的网址链接
vscode.env
中的openExternal()
方法。此方法接受一个 URL 字符串作为参数并在用户默认的浏览器中打开它。下面是一个示例:// 导入必要的模块 const vscode = require('vscode'); // 定义命令 let openBrowser = vscode.commands.registerCommand('extension.openBrowser', function () { // 获取当前活跃的编辑器 let editor = vscode.window.activeTextEditor; if (!editor) { return; } // 获取选中的文本 let selection = editor.selection; let text = editor.document.getText(selection); // 打开浏览器并访问所选的 URL vscode.env.openExternal(text); }); // 注册命令 context.subscriptions.push(openBrowser);
现在,当用户运行您的扩展程序并调用extension.openBrowser
命令时,将在浏览器中打开选定的 URL。 - Steffen