Mar*_*k M 6 visual-studio-code vscode-extensions
我正在编写Visual Studio代码扩展,并且希望能够响应命令打开带有特定url的浏览器窗口。我知道Electron具有BrowserWindow类,但似乎无法从vscode扩展中访问Electron API。
我希望可以在该工具中打开浏览器窗口,但是如果不能的话,可以在默认浏览器中打开网页。
如何通过扩展程序打开网页?
Joh*_*nry 21
这可能是最近添加的。
Dan*_*eny 10
要在 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>`;
}
Run Code Online (Sandbox Code Playgroud)
根据您的具体用例,还有浏览器预览扩展,它注册您可以使用的命令browser-preview.openPreview(您可能希望将浏览器预览列为依赖项以确保它已安装)。
最后,如果您只想在普通浏览器窗口中打开,您可以使用env.openExternalAPI。当在远程环境中运行时,这还将负责公开端口并映射到公开的主机名(如果它是本地主机提供的服务):
vscode.env.openExternal(Uri.parse("https://www.stackoverflow.com/"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |