User:Kewisch/Thunderbird Developer Tools Documentation
Thunderbird Developer Tools
Thunderbird supports various developer tools using the remote connection mechanism in Firefox. The currently supported toolset is the Web Console, Inspector, Debugger, Style Editor, Profiler and Network Monitor. Other Tools may become available in the future.
Setting up Thunderbird
All that needs to be done in Thunderbird is enabling the debugger server. This can be done using the
Tools menu and selecting
Allow Remote Debugging. By default, a debugger server will be started on port 6000. If you would like to change this port, for example to debug multiple profiles, you must open the advanced config editor and change the preference
Setting up Firefox
Firefox acts as the client and provides the UI you will be using to use the developer tools in Thunderbird. Its best to use a Firefox and Thunderbird version with a matching major version number, but in some cases it will work even with differing versions.
To set up Firefox, open the developer tools using Tools > Web Developer > Toggle Tools. Afterwards, click on the settings icon and check both "Enable chrome debugging" and "Enable remote debugging". A restart may be needed to ensure the settings are applied.
Now you can open the connection page in Firefox using Tools > Web Developer > Connect. A page will open in the browser, you can bookmark this page if you like. If you are using the default port, the fields will already be filled in correctly. Click on the Connect button and you will be presented with a list of "Tabs" and the "Main Process".
In most cases you will want to select "Main Process" to debug Thunderbird itself. A new window opens with the developer tools panel connected to Thunderbird.
It is also possible to use the tools in any other application based on the Mozilla Platform that allows installing extensions. To do so, install the Developer Tools Server extension (link TBD). As the debugger will not be available through the menus, you need to open the addon options to start the debugging server.
Using the Developer Tools
The usage of the tools is mostly self explanatory. If you are having trouble with a certain tool, check the Firefox Developer Tools documentation. Due to a remote connection being used there might be some slight differences, for example some tools not being available or performance differences. For example, using the remote debugger tool takes quite some time to load because the files have to be transferred over the internal network connection.
If you encounter an error, the first thing you should check is if you are using matching version numbers. If you are using Thunderbird 24, you should also use Firefox 24 to connect. Next off, it important to figure out if its a problem with the Firefox Developer Tools or with the remote connection code in Thunderbird. To verify this, please try to reproduce the problem using only Firefox. For example, if you notice that you cannot set an attribute value in the Inspector tool, try changing an attribute in the Browser Debugger in Firefox. If you cannot reproduce it there, file a bug in the Thunderbird product, otherwise in Firefox/Developer Tools.
If you need ad-hoc support, check in #devtools on irc.mozilla.org.