问题描述
最近使用VS Code过程中,发现点击代码中的链接或者运行代码后自动打开浏览器页面,但是浏览器一直无法打开,提示无法找到网址,实在是十分困扰。
可能原因
通过查看VS Code的设置,发现默认打开浏览器的操作是使用chrome-debug-core中的internal打开浏览器。而在该文件中,我们可以找到以下代码:
```
if (launchArgs.webRoot) {
if (os.platform() === "win32") {
exec(`start ${url}`);
} else if (os.platform() === "darwin") {
exec(`open '${url}'`);
} else {
exec(`xdg-open '${url}'`);
}
} else {
await open(url, { newInstance: true });
}
```
如果你的浏览器没有正常设置为默认浏览器,或者禁止了外部程序打开浏览器,则会导致该功能无法正常使用。
解决方法
方法一:设置默认浏览器
我们可以先检查一下当前的默认浏览器是否被设置正确。
在Windows系统中,可以按Win+I快捷键打开“设置”,进入“应用”选项卡,找到“默认应用”设置,将浏览器设置为默认即可。
在macOS系统中,可以进入“系统偏好设置”>“通用”,找到“默认的Web浏览器”,选择你经常使用的浏览器即可。
如果我们的默认浏览器已经设置正确,仍然无法打开,则可以尝试下面的解决方法。
方法二:修改设置
在 VS Code 中按下 "Ctrl + Shift + P" 打开命令面板,输入 “Terminal” 并打开 settings.json 。
在配置文件中添加以下代码:
```
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": ["/C", "%LOCALAPPDATA%\\Google\\Chrome\\Application\\chrome.exe"],
```
这里的 "C:\\Windows\\System32\\cmd.exe" 是 Windows 自带的命令提示符, /C 指示 cmd 应该在执行完所给出的命令后退出(/K 则会在命令执行后保持窗口打开),而 "%LOCALAPPDATA%\\Google\\Chrome\\Application\\chrome.exe" 则表示设定为 Chrome 浏览器,其他浏览器可根据读者实际情况进行修改。
总结
通过上述方法,我们可以避免 VS Code 打开默认浏览器时出现错误的情况,为我们的编程工作节省很多不必要的麻烦,提高我们的编程效率。
参考资料
- How do I get Visual Studio Code to open with my default browser?