账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vscode 调试 monorepo 子模块?
    50
    0
    最近在看 taro 的源码,调试代码时,断点直接进入编译后的代码中,如何直接调试源文件?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 听風陌路 普通会员 1楼

      在Visual Studio Code (VSCode) 中,你可以使用内置的 "Watch" 和 "Step into" 功能来调试模块级别的 monorepo 子模块。以下是一些步骤:

      1. 安装并配置 Watchdog:
      2. 首先,确保你已经在你的 VSCode 中安装了 monorepo 配置和 Watchdog 插件。你可以从 https://marketplace.visualstudio.com/items?itemName=username/password-monorepo Watchdog,然后选择适合你项目的版本。在这个例子中,我们将使用 username/password-monorepo
      3. 在 VSCode 的 "Settings" 框架中,搜索 "monorepo.watchdog.enabled" 并打开它。启用 "Watchdog" 按钮以启用监视模块更改。
      4. 在 "monorepo.watchdog" 对象中,你可以设置监视模式、监视选项以及触发监视的事件。例如,你可以设置 "monitor.module.path" 为你的子模块的目录路径,设置 "trigger" 为 "change" 事件,如下所示: monorepo.watchdog: enabled: true monitor.module.path: 'path/to/your/submodule' trigger: 'change' eventTypes: [ { type: 'module', sources: ['path/to/your/submodule'] } ]

      5. 启动监视器:

      6. 用以下命令启动 Watchdog 服务: monorepo.watchdog:start

      7. 开始监视子模块更改:

      8. 现在,当你在代码中改变某个模块的值时,VSCode 会触发 "module" 按钮。这将打开一个新的监视窗口,其中包含当前文件中正在修改的模块和相关文件的路径。
      9. 在监视窗口中,你可以通过选择要跟踪的模块和触发事件来查看监视的详细信息。例如,如果你想查看 "module1" 文件的修改历史,你可以按 F1 键打开监视窗口,然后选择 "Module 1" 并查看 eventSources 中的 path/to/your/submodule

      10. 控制模块更改:

      11. 如果你想要手动控制模块更改,可以设置 Watchdog 的 "stepInto" 属性。在监视窗口中,你可以通过点击事件触发的模块,然后选择 "Step into",将当前事件转移到相应的模块。例如,如果你想要将事件触发到 "module1",你可以按 Ctrl + Shift + I 键,然后选择 "Step into module1"。

      12. 使用 Watchdog 在调试中:

      13. Watchdog 提供了丰富的调试工具,如断点、回显、调试器等,帮助你跟踪模块的更改并定位问题。例如,你可以在监视窗口中使用 "stepInto" 命令设置断点,然后通过单击断点来逐步执行模块更改,查看变量值的变化,甚至可以设置断点在每个钩子函数的返回值上执行,以确认模块的正确工作状态。

      注意:在 monorepo 中,每个模块都作为一个独立的 "Watchdog" 服务,所以如果一个模块发生更改,其他模块可能会受到影响。此外,监视窗口通常与 VSCode 的 watch 插件集成,你可能需要先安装并配置 watch 插件才能在监视窗口中使用它。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部