如何强制 Rider 使用 Chrome 进行调试?
Posted
技术标签:
【中文标题】如何强制 Rider 使用 Chrome 进行调试?【英文标题】:How to force Rider to use Chrome for debugging? 【发布时间】:2021-10-25 22:44:28 【问题描述】:无论我做什么,我都无法让 Rider 使用 Chrome 进行调试。我已经删除了列出的所有其他浏览器,甚至为 Chrome 设置了“自定义路径”。我还安装并启用了所需的插件;仍然,它开始于:
Opening <URL> using the default OS app
(=边缘)
然后它开始记录错误,如下所示:
-
调试器监听 ws://...
已附加调试器。
正在等待调试器断开连接...
即将退出,代码:0
进程在编写摘要之前终止,异步代码中的可能错误无法继续!
尝试使用退出代码 1 退出
进程以退出代码 0 结束
该应用由多个 SharePoint 框架 (SPFx) React 项目组成,这些项目包装在 netstandard2.0 类库项目中。每个都有一个 gulp 文件,我创建了类似于以下示例的相应运行/调试配置:
我需要做什么才能让 Rider 使用 Chrome?
【问题讨论】:
【参考方案1】:在Gulp运行配置中,不能指定用于调试的浏览器,也不能使用该配置调试在浏览器中运行的前端应用。我想,一旦您的应用程序启动,您的 Gulp 任务就会打开您的系统默认浏览器 - IDE 无法控制这一点。
无论如何,要将调试器附加到在浏览器中运行的应用程序,您需要使用 JavaScript 调试 运行配置与您的服务器 URL。在此配置中,您需要指定要使用的浏览器(IDE 将默认使用 Chrome)
另外,我建议在 Gulp 运行配置中从 Node options: 中删除 --inspect
选项 - 除非您要调试 Gulp,否则这里没有任何意义任务本身。
【讨论】:
那行得通,有点。它确实连接了,但是:1)它打开了一个没有配置文件的新 chrome 浏览器,我需要能够在 5 左右之间移动以行使组权限 2)它实际上并没有达到 Rider 中设置的任何断点;它已附加并记录但不会达到断点,除非我在 Chrome 中设置它们似乎违背了目的。即便如此,当它加载远程副本时,它是 webpack 文件,所以......这些问题可能更多地与 SPFx 项目的工作方式有关。 1.这样做是为了确保没有使用相同用户数据的实例正在运行,因为在浏览器启动后无法打开用于调试的端口。请注意,您可以在 Settings | 中修改 Chrome 设置。工具 | Web 浏览器 使用您自己的用户数据(设置、扩展程序等)启动 Chrome - 请参阅jetbrains.com/help/webstorm/… 但是,如果您这样做,请始终确保 Chrome 尚未使用您的用户数据运行,然后再启动调试会话,否则将无法正常工作。 2.一定是源图的问题。在 Chrome 开发工具的 Sources 选项卡中,你能看到你的原始源文件(而不是转译的版本)吗?如果是,源映射可能没问题,您可以通过从开发工具复制文件 URL(Copy link address in script right-让IDE知道磁盘上的文件路径如何映射到浏览器中的URL -单击菜单)并在 javascript 调试运行配置中指定文件夹的 URL 映射以上是关于如何强制 Rider 使用 Chrome 进行调试?的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 中调试时如何强制 Chrome 浏览器重新加载 .css 文件?
在 Rider IDE 中调试时重新加载 WPF XAML?