Debugging 在开发过程中调试Firefox插件的最快方法

Debugging 在开发过程中调试Firefox插件的最快方法,debugging,firefox,firefox-addon,compilation,Debugging,Firefox,Firefox Addon,Compilation,调试Firefox插件是一个缓慢的过程:(1)使用构建脚本将JS编辑器(2)包中的源代码编辑到XPI中(3)拖到Firefox中安装(4)重新启动Firefox(5)打开JavaScript调试器 我们能加快进程吗?如不重新启动就将其安装到Firefox中,或配置构建脚本将其安装到Firefox中?您需要“编辑源代码”和“重新启动Firefox”步骤;无法从流程中删除它们 当你安装插件时,javascript会出现在你的firefox配置文件中的磁盘上。如果你在那里编辑它,然后重新启动firef

调试Firefox插件是一个缓慢的过程:(1)使用构建脚本将JS编辑器(2)包中的源代码编辑到XPI中(3)拖到Firefox中安装(4)重新启动Firefox(5)打开JavaScript调试器

我们能加快进程吗?如不重新启动就将其安装到Firefox中,或配置构建脚本将其安装到Firefox中?

您需要“编辑源代码”和“重新启动Firefox”步骤;无法从流程中删除它们


当你安装插件时,javascript会出现在你的firefox配置文件中的磁盘上。如果你在那里编辑它,然后重新启动firefox,新的东西就会出现。完成后,从配置文件中的文件创建xpi。

您需要找到您的配置文件。找到它后,进入名为“extensions”的文件夹,然后找到您正在使用的加载项的文件夹。将该文件夹替换为同名文件(如果该文件是名称的一部分,请减去
.xpi
),并在该文件中放置加载项源目录的完整路径

在Linux和Mac中,这看起来像:

/full/path/to/yourExtension/
在Windows上:

C:\full\path\to\yourExtension\
记住后面的斜杠,小心多余的空格

只要不在外接程序中使用jar文件,就不再需要重建()

此外,您还需要设置为true。对于xul或js文件的编辑,只需打开一个新窗口即可查看更改,而无需重新启动应用程序。还有一些你可能会觉得有用的

额外提示:

  • 使用特定配置文件(dev)启动firefox,同时打开其他firefox配置文件,并且调试器已打开:

    “C:\ProgramFiles(x86)\Mozilla Firefox\Firefox.exe”-无远程-p dev-jsconsole

  • 查看(节省时间)


我将Netbeans与用于插件开发的一起使用,您只需按下“运行”按钮,firefox就会在安装了插件的情况下启动(进入测试配置文件)。也许你应该试试这个

包含了对venkman中调试FF扩展的良好描述通过google来到这里-FF nightly 31拥有用于调试附加组件的新工具。这是上帝的恩赐。详情如下:

您还可以通过
调试器
关键字设置动态断点。打开“浏览器工具箱”使调试器停止在该行

我认为这很好,因为您不必在每次重新启动后查找源文件和行


还可以看看这个答案,其中提到自Firefox 23以来,无重启扩展的调试器功能得到了改进。

为了使附加组件的开发更快,一个重要的目标是消除FF的重启,以测试每一个代码更改。我可以想到三个选择:

  • 根据本文中的其他答案,使用FF nightly 31构建

  • 使用以下附加组件

  • 使用无重启插件在代码中构建它。请参考本文中的答案


我已经使用了最后两个选项,它对我非常有效。

哦,哇,我不知道如何禁用缓存。这让我很开心。这和打开新窗口有关。有没有办法打开新的标签页?@xralf:基本上没有。browser.xul overlay中的代码加载到每个窗口中;要将更新后的代码加载到现有窗口中,Firefox需要首先“卸载”您的代码,这是不可能解决的问题。另一方面,如果您正在更改在选项卡中加载的文档中运行的代码,它将与常规网页一样,随选项卡一起重新加载。你可以看看插件SDK,它有很好的基础设施来创建不可加载的扩展,或者如果你只是在写一个内容脚本,甚至像Greasemonkey这样的东西都是一个很好的开始。@Nickolay好的,我发现这是一个很好的开发加速,只是因为我不需要重建。你不需要“重新启动firefox”步骤。如果您安装了,则可以选择“重新加载chrome”。您可以在工具栏上添加自己的小按钮来执行此操作(请查看扩展源)。此问题仍不时引起注意-请注意,此处的答案非常陈旧,并且不考虑对其具有稍微不同的开发过程的支持。^我更愿意说,请务必查看您当前正在查看的答案的日期。3个选项:使用FF 31,使用autoinstaller插件,将其构建到代码中。请添加/编辑我使用Venkman的答案,但最近内置Firefox浏览器工具箱的调试器要好得多。这里只是一个警告,我引用:“我们支持调试任何无重启的加载项,现在不支持老式加载项。”-Dave Townsend(来自上面的链接)。