--- title: Preparando um ambiente para o desenvolvimento de extensões slug: Preparando_um_ambiente_para_desenvolvimento_de_extensoes translation_of: Archive/Add-ons/Setting_up_extension_development_environment ---
Esse artigo dá sugestões de como preparar seu aplicativo Mozilla para o desenvolvimento de extensões. A menos que seja dito o contrário, essas sugestões se aplicam tanto ao Firefox quanto ao Thunderbird, assim como ao SeaMonkey versão 2.0 e superior.
about:config
.Para evitar a degradação de desempenho das extensões e prefs relacionadas ao desenvolvimento, e para evitar perder seus dados pessoais, você pode usar um perfil a parte para o trabalho de desenvolvimento.
Você pode executar duas instâncias do Thunderbird ou do Firefox ao mesmo tempo usando perfis diferentes e iniciando o aplicativo com o parâmetro -no-remote
. Por exemplo, o seguinte comando vai iniciar o Firfox com um perfil chamado "dev" quer uma instância do firefox já esteja em execução ou não.
No Ubuntu (e muitas outras distro do Linux):
/usr/bin/firefox -no-remote -P dev
Em algumas outras distros do Linux/Unix:
/usr/local/bin/firefox -no-remote -P dev
No Mac OS Snow Leopard (10.6) e mais recentes:
/Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -P dev &
No Mac OS Leopard (10.5) e versões mais antigas, você requisitar a porção de 32-bit portion do Binário Universal (Universal Binary) (https://bugzilla.mozilla.org/show_bug.cgi?id=622970):
arch -arch i386 /Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -P dev &
No Windows:
Start -> Run "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -P dev
No Windows 64 bit:
Start -> Run "%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe" -no-remote -P dev
Para inicar o Thunderbird ou o SeaMonkey ao invés do Firefox, substitua "firefox" por "thunderbird" ou "seamonkey" nos exemplos acima.
Se o perfil especificado não existir (ou se nennhum perfill for especificado), o Thunderbird ou Firefox irá exibir o Profile Manager (Gerenciador de Perfis). Para executar com o perfil padrão (default), especifique "default" como sendo o perfil (ou omita a chave "-P" ).
(Existe uma linha (thread) no Mozillazine forums que explica como usar tanto a versão estável como a de desenvolvimento do Firefox para verificar a compatibilidade da extensão Veja Instalando o Firefox 3 ou Campo minado ao se manter o Firefox 2.)
Para tornar as numerosas reinicializações mais suaves, você pode criar um para ler a documentação / para uso regular, e o outro para testar as extensões, e executar ambos ao mesmo tempo usando a chave de comando no-remote
como descrito em http://kb.mozillazine.org/Command_line_arguments . O segundo geralmente requer muitas reinicializações, e você pode abrir ambos ao mesmo tempo, ccomo nesses dois atalhos no Windows:
...firefox.exe -no-remote -p "profile1"
...firefox.exe -no-remote -p "profile2"
No Mac, crie um bash script, nomei-o com a extensão (de arquivo) ".command". A opção de perfil é "-P" (maiúsculo).
#!/bin/bash
"..."/Contents/MacOS/firefox -P "profile1"
substitua os "..." com o caminho verdadeiro (para a pasta de instalação do seu aplicativo mozilla - firefox, thunderbird, etc.). É simples - basta dois atalhos na Área de Trabalho (desktop) - e você fica com um dos perfis sempre aberto.
A partir do Gecko 2 (Firefox 4), os arquivos JavaScript files são postos em cache ("fastload" - "carga rápida"). O sinalizador de comando -purgecaches
disablita esse comportamento. Como alternativa, você pode ajustar a variável de ambiente MOZ_PURGE_CACHES. See esse bug para mais informações.
Instarlar a extensão Developer Profile (Perfil do Desenvolvedor) ajusta a maior parte do ambiente de desenvolvimento descrito abaixo.
Há um conjunto de preferências de desenvolvimento que quando habilitadas permitem que você veja mais informação sobre a atividade do aplicativo, tornando, dessa forma, a depuração mais fácil. Contudo, essas preferências podem degradar o desempenho, de modo que você pode preferir usar um perfil diferente para desenvolvimento aonde você habilita essas preferências. Para mais informações sobre as preferências do Mozilla, veja o artigo da mozillaZine sobre "about:config".
Nem todas as preferências estão definidas por princípio, e portanto, nãos estão listadas em about:config
a princípio. Você terá que criar novas entradas booleanas para elas.
dump()
a partir de um script privilegiado.{{ gecko_callout_heading("2.0") }}
The Error Console is disabled by default starting in Firefox 4. You can re-enable it by changing the devtools.errorconsole.enabled
preference to true
and restarting the browser. With this, javascript.options.showInConsole
is also set to true
by default.
To change preference settings in Firefox or SeaMonkey, type about:config
in the Location Bar. Alternatively, use the Extension Developer's Extension, which provides a menu interface for Firefox settings.
To change preference settings in Thunderbird, open the "Preferences" (Unix) or "Options" (Windows) interface. On the "Advanced" page, select the "General" tab then click the "Config Editor" button.
Essas extensões podem te ajudar com o desenvolvimento de extensões.
Extension files are normally installed in the user profile. However, it is usually easier to place extension files in a temporary location, which also protects source files from accidental deletion. This section explains how to create a proxy file that points to an extension that is installed in a location other than the user profile.
extensions
" directory under your profile directory with the extension's ID as the file name (for example "your_profile_directory/extensions/{46D1B3C0-DB7A-4b1a-863A-6EE6F77ECB58}
"). (How to find your profile directory) Alternatively, rather than using a GUID, create a unique ID using the format "name@yourdomain" (for example chromebug@mydomain.com
) - then the proxy filename will be same as that ID, with no curly brackets {}.The contents of this file should be the path to the directory that contains your install.rdf file, for example /full/path/to/yourExtension/
on Mac and Linux, and C:\full\path\to\yourExtension\
on Windows. Remember to include the closing slash and remove any trailing whitespace.
Regardless of whether you choose to eventually package your extension's chrome in a JAR or in directories, developing in directories is simpler. If you choose a JARed structure for releasing, you can still develop with a directory structure by editing your chrome.manifest. For example, rather than having
content myExtension jar:chrome/myExtension.jar!/content/
use
content myExtension chrome/content/
{{ h1_gecko_minversion("Preventing the first launch extension selector", "8.0") }}
Starting in Firefox 8, on the first launch of a new version of Firefox, it presents user interface letting users select which third party add-ons to keep. This lets them weed out add-ons that were installed without their knowledge, or that are no longer needed.
However, this interface can be disruptive when debugging add-ons. You can avoid this by setting the preference extensions.autoDisableScopes
to 14.
{{ languages( { "de": "de/Einrichten_einer_Entwicklungsumgebung_für_Erweiterungen", "fr": "fr/Configuration_d'un_environnement_de_développement_d'extensions", "ja": "ja/Setting_up_extension_development_environment", "zh-cn": "cn/Setting_up_extension_development_environment", "pl": "pl/Przygotowanie_środowiska_programowania_rozszerzenia", "ru": "ru/Настройка_среды_разработки_расширений" } ) }}