[英]How do I open a browser window in a visual studio code extension?
我正在编写一个 visual studio 代码扩展,我希望能够打开一个带有特定 url 的浏览器窗口以响应命令。 我知道 Electron 有一个 BrowserWindow 类,但似乎无法从 vscode 扩展访问 Electron API。
我更喜欢在工具中打开浏览器窗口,但如果不可能的话,我也可以在我的默认浏览器中打开网页。
如何从扩展程序打开网页?
这可能是最近添加的。
要在 VS Code 中打开浏览器窗口,您可以使用WebView API ,但您需要提供 HTML 内容而不是 URL:
export 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/"));
我无法打开Simple Browser: Preview
,但有一个名为Browser Preview的扩展具有更强大的支持
step1: 打开命令Palate {shift+ctrl+p} step2: search for -> Simple Browser: view step3: 点击它并输入你想查看的webLink
脚步:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.