NodeJS 如何从Visual Studio Code API打开浏览器

798qvoo8  于 2023-05-28  发布在  Node.js
关注(0)|答案(3)|浏览(282)

我只是在探索一种方法,以便从用于开发扩展的Visual Studio Code API打开默认浏览器。
下面是我的代码:

var disposable = vscode.commands.registerCommand('extension.browser', () => {
  // The code you place here will be executed every time your command is executed
  vscode.Uri.call("http://facebook.com");
});

如何使用vscode类从API打开浏览器URL。

q0qdq0h2

q0qdq0h21#

不需要节点或外部库。
如果你使用的是VS Code 1.31+,请使用vscode.env.openExternal函数:

import * as vscode from 'vscode';

vscode.env.openExternal(vscode.Uri.parse('https://example.com'));

对于较旧的VS Code版本,请使用vscode.open命令:

vscode.commands.executeCommand('vscode.open', vscode.Uri.parse('https://example.com'))

这两个都将在用户的默认浏览器中打开页面

lmyy7pcs

lmyy7pcs2#

您不需要安装外部依赖项。打开一个URL可以简单地完成只是Node.js库和系统命令。例如,使用child_process.exec打开一个URL。
像这样声明一个函数:

const exec = require('child_process').exec;

function openURL(url) {
  let opener;

  switch (process.platform) {
    case 'darwin':
      opener = 'open';
      break;
    case 'win32':
      opener = 'start';
      break;
    default:
      opener = 'xdg-open';
      break;
  }

  return exec(`${opener} "${url.replace(/"/g, '\\\"')}"`);
}

然后从代码中调用它

openURL('http://stackoverflow.com');
blpfk2vs

blpfk2vs3#

我必须使用npm open url才能在浏览器中打开。

var openurl = require('openurl').open;
    openurl("http://google.com");

相关问题