You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-pt/docs/tdevelop/tdevelop/plugin-tools.docbook

288 lines
22 KiB

<appendix id="plugin-tools">
<title>Ferramentas em 'Plugins'</title>
<indexterm zone="plugin-tools">
<primary>'plugins'</primary></indexterm>
<para>O &tdevelop; contém uma grande quantidade de pequenas ferramentas que o ajudam a desempenhar certas tarefas. A maioria delas está implementada sob a forma de 'plugins'. Isto significa que, se não necessitar de um 'plugin', podê-lo-á desactivar.</para>
<para>Isto também significa que, se está à procura de uma determinada funcionalidade que deveria lá estar e não está, então é porque provavelmente está implementada num 'plugin' e este está desactivado. Por exemplo, no menu de ficheiros, existe um menu de Abertura Rápida, se estiver activo na janela de Projecto - Opções do Projecto. </para>
<para>Tecnicamente, os 'plugins' são baseados na classe KDevPlugin que está definida em 'lib/interfaces/kdevplugin.h'. O seguinte é retirado de um comentário de lá (devidamente traduzida).</para>
<para>O KDevPlugin é a classe de base para todos os 'plugins' do KDevelop. Um 'plugin' é um componente que é carregado na plataforma do KDevelop no início ou a pedido. Um 'plugin' tem um âmbito que poderá ser: <itemizedlist>
<listitem><simpara>Nuclear</simpara></listitem>
<listitem><simpara>Global</simpara></listitem>
<listitem><simpara>Projecto</simpara></listitem>
</itemizedlist>
</para>
<para>Os 'plugins' nucleares são 'plugins' globais que oferecem alguma funcionalidade "nuclear" e, como tal, não são seleccionados pelo utilizador, nas páginas de configuração dos 'plugins'.</para>
<para>Os 'plugins' globais são 'plugins' que só necessitam da plataforma para serem carregados e não operam na interface KDevProject e/ou não usam a informação ao nível do projecto. Por exemplo, o 'plugin' 'uimode' permite a um programador escolher a interface do utilizador que deseja usar. </para>
<para>Os 'plugins' do projecto necessitam de ter um projecto carregado e são normalmente carregados/terminados em conjunto com o projecto. Se um 'plugin' funcionar com informação relacionada com o projecto, então é um 'plugin' de projecto. O Gestor do Automake, por exemplo, só necessita de estar activo quando estiver carregado um projecto baseado no Automake. </para>
<para>Como foi dito acima, os 'plugins' do núcleo não poderão ser desactivados. Os 'plugins' globais podem ser activados/desactivados em <menuchoice><guimenu>Configuração</guimenu> <guimenuitem>Configurar o KDevelop...</guimenuitem></menuchoice> em <guibutton>'Plugins'</guibutton>. Os 'plugins' do projecto podem ser activados/desactivados na opção <menuchoice><guimenu>Projecto</guimenu> <guimenuitem>Opções do Projecto...</guimenuitem></menuchoice> em <guibutton>'Plugins'</guibutton>. Os 'plugins' activos poderão ter vários efeitos no KDevelop. Dependendo da sua função, poderão adicionar menus extra, opções extra, botões extra na barra de ferramentas, etc. </para>
<para>Os 'plugins' que estão desactivados não enchem os seus menus e não são carregados na memória. </para>
<para>A lista de 'plugins' que se segue é gerada por um pequeno programa ('listplugins.sh'), criado por Volker Paul. Todos os 'plugins' têm um ficheiro .desktop cujo nome e comentários estão escritos. Se, no que se segue, este comentários não forem muito úteis, foi porque os autores dos 'plugins' os fizeram assim.</para>
<para>Os 'plugins' estão organizados por âmbito (Nuclear, Global, Projecto).</para>
<para>Âmbito: Nuclear</para>
<itemizedlist>
<listitem><formalpara id="KDevAppWizard">
<title>Assistente de Aplicações</title>
<para>Assistente de Aplicações</para></formalpara></listitem>
<listitem><formalpara id="KDevDiff">
<title>Visualizador de Diferenças</title>
<para>Visualizador de Diferenças</para></formalpara></listitem>
<listitem><formalpara id="KDevFileCreate">
<title>Criação de Ficheiros</title>
<para>Criação de Ficheiros</para></formalpara></listitem>
<listitem><formalpara id="KDevFullScreen">
<title>Ecrã Completo</title>
<para>Ecrã Completo</para></formalpara></listitem>
<listitem><formalpara id="KDevTipOfDay">
<title>Dica do Dia</title>
<para>Dica do Dia</para></formalpara></listitem>
<listitem><formalpara id="KDevUIChooser">
<title>Selecção da Interface do Utilizador</title>
<para>Oferece uma janela para a selecção do modo de interface do utilizador.</para></formalpara></listitem>
<listitem><formalpara id="KDevVCSManager">
<title>Gestor de SCV</title>
<para>Gestor do Sistema de Controlo de Versões </para></formalpara></listitem>
</itemizedlist>
<para>Âmbito: Global</para>
<itemizedlist>
<listitem><formalpara id="KDevAbbrev">
<title>Expansão de Abreviaturas</title>
<para>Oferece o suporte para as abreviaturas personalizadas - as palavras pequenas que se expandem em estruturas de código comuns necessárias.</para></formalpara></listitem>
<listitem><formalpara id="KDevDocumentation">
<title>Documentação</title>
<para>O 'plugin' de Documentação oferece a navegação e pesquisa na documentação local e 'online', com o suporte para vários sistemas de documentação.</para></formalpara></listitem>
<listitem><formalpara id="KDevfilelist">
<title>Lista de Ficheiros</title>
<para>Oferece uma lista com todos os ficheiros abertos. (É útil quando a barra de páginas não é suficientemente larga.)</para></formalpara></listitem>
<listitem><formalpara id="KDevFileSelector">
<title>Selector de Ficheiros</title>
<para>Um utilitário de navegação de ficheiros transparente na rede e poderoso.</para></formalpara></listitem>
<listitem><formalpara>
<title>Filtragem e Inserção da Linha de Comandos</title>
<para>Oferece uma forma de manipular o texto do editor com base em ferramentas da linha de comandos. Aparece no menu Ferramentas.</para></formalpara></listitem>
<listitem><formalpara id="KDevGrepView">
<title>Interface do Grep</title>
<para>Integra o "find|grep" no KDevelop - permite uma procura rápida em vários ficheiros, com padrões e expressões regulares.</para></formalpara></listitem>
<listitem><formalpara id="KDevKonsoleView">
<title>Konsole Embebido</title>
<para>Este 'plugin' dá ao KDevelop um Konsole incorporado, para poder aceder fácil e rapidamente à linha de comandos.</para></formalpara></listitem>
<listitem><formalpara id="KDevOpenWith">
<title>Adição do Menu "Abrir com"</title>
<para>Este 'plugin' oferece alternativas adicionais para "abrir" nos vários menus de contexto do KDevelop.</para></formalpara></listitem>
<listitem><formalpara id="KDevPartExplorer">
<title>Ferramenta de Exploração de Componentes</title>
<para>Uma ferramenta gráfica para efectuar pesquisas do tipo do TDETrader acerca dos serviços registados</para></formalpara></listitem>
<listitem><formalpara id="KDevRegexpTest">
<title>Teste de Expressões Regulares</title>
<para>Uma ferramenta para desenhar e testar expressões regulares, usando as sintaxes de expressões regulares normais.</para></formalpara></listitem>
<listitem><formalpara id="KDevReplace">
<title>Componente de Substituição</title>
<para>Este 'plugin' é uma ferramenta interactiva de "Procurar e Substituir" ao nível do projecto. Faça a pesquisa com a correspondência por texto ou expressões regulares, e seleccione as substituições a fazer, numa antevisão, antes de a acção terminar. Logo que esteja carregada, aparece no menu Editar.</para></formalpara></listitem>
<listitem><formalpara id="KDevscripting">
<title>Programação</title>
<para>O 'plugin' de Programação oferece capacidades de programação em KScript à aplicação KDevelop</para></formalpara></listitem>
<listitem><formalpara id="Code_Snippets">
<title>Excertos de Código</title>
<para>Este 'plugin' permite-lhe gravar excertos de código e adicioná-los ao seu código</para></formalpara></listitem>
<listitem><formalpara id="KDevTextTools">
<title>Estrutura do Texto</title>
<para>Oferece uma vista estrutural e de navegação para os ficheiros em HTML e TEX</para></formalpara></listitem>
<listitem><formalpara id="KDevTools">
<title>Adição ao Menu de Ferramentas</title>
<para>Este 'plugin' oferece uma forma simples para adicionar aplicações externas ao menu e às barras de Ferramentas.</para></formalpara></listitem>
<listitem><formalpara id="KDevvalgrind">
<title>Interface para o Valgrind</title>
<para>O Valgrind é uma ferramenta que o ajuda a detectar problemas de gestão de memória nos programas. Veja em http://developer.kde.org/~sewardj/</para></formalpara></listitem>
</itemizedlist>
<para>Âmbito: Projecto</para>
<itemizedlist>
<listitem><formalpara id="KDevannotation">
<title>'Plugin' de anotações</title>
<para>Descrição da anotação</para></formalpara></listitem>
<listitem><formalpara id="KDevAStyle">
<title>Formatador do Código-Fonte</title>
<para>Um 'plugin' para formatar o código-fonte, de acordo com um conjunto bem definido de regras. Quando for carregado, está presente no menu Ferramentas.</para></formalpara></listitem>
<listitem><formalpara id="KDevBookmarks">
<title>Favoritos</title>
<para>Um 'plugin' que oferece a navegação e a apresentação de favoritos de código activos, mantendo-os persistentes entre sessões.</para></formalpara></listitem>
<listitem><formalpara id="KDevClassView">
<title>Área de Classes</title>
<para>Este 'plugin' mostra uma vista gráfica sobre todas as classes do projecto, completas com os métodos e atributos, oferecendo ainda uma forma de navegar directamente pelo código.</para></formalpara></listitem>
<listitem><formalpara id="KDevcopyto">
<title>Copiar Para</title>
<para>Um 'plugin' de envio de ficheiros simples. Faz uma cópia de ficheiros através de qualquer protocolo suportado pelo TDEIO.</para></formalpara></listitem>
<listitem><formalpara id="KDevCTags2">
<title>Interface para o CTags</title>
<para>O CTags é uma ferramenta para navegar no código, com o suporte para várias línguas. Quando for carregado, oferece um menu para procurar as declarações/definições dos tipos, assim como uma janela de pesquisa. Para mais informações, vá a http://ctags.sourceforge.net/</para></formalpara></listitem>
<listitem><formalpara id="KDevdistpart">
<title>Suporte de Empacotamento Final</title>
<para>Ajuda na criação de pacotes e na publicação do projecto final. Só é suportado o formato de pacotes RPM, por agora.</para></formalpara></listitem>
<listitem><formalpara id="KDevDoxygen">
<title>Suporte para Doxygen</title>
<para>O 'plugin' do 'doxygen' oferece uma forma de indicar e controlar a geração da documentação para um projecto, com base no conteúdo do código-fonte. Deverá ter o 'doxygen' instalado para poder usar isto. Para mais informações, vá a http://www.doxygen.org</para></formalpara></listitem>
<listitem><formalpara id="KDevQuickOpen">
<title>Abertura Rápida</title>
<para>Oferece uma forma eficiente de procurar/abrir ficheiros, classes e métodos num projecto grande. Aparece nos menus Ficheiro e Ferramentas, quando estiver carregado.</para></formalpara></listitem>
<listitem><formalpara id="KDevSecurity">
<title>Verificação de Segurança</title>
<para>Verificação da segurança do código</para></formalpara></listitem>
</itemizedlist>
<para>Até agora, foi a lista de 'plugins' gerada.</para>
<table id="table-project-parts">
<title>'Plugins' de Gestão de Projectos do &tdevelop;</title>
<tgroup cols="2"><tbody>
<row>
<entry>antproject</entry>
<entry>Gestor de Projectos do ANT (aplicações de &Java;)</entry>
</row>
<row>
<entry>autoproject</entry>
<entry>Gestor de Projectos do Automake</entry>
</row>
<row>
<entry>customproject</entry>
<entry>Gestor de Projectos Personalizados</entry>
</row>
<row>
<entry>trollproject</entry>
<entry>Gestor de Projectos baseado no QMake</entry>
</row>
</tbody></tgroup>
</table>
<para>Os 'plugin' acima indicados estão de momento (Maio de 2005) vazios. Talvez o suporte para a gestão de projectos seja implementado como 'plugins' no futuro.</para>
<table>
<title>'Plugins' de Suporte de Linguagens no &tdevelop;</title>
<tgroup cols="2">
<tbody>
<row><entry>cppsupport</entry><entry>Suporte para C/C++</entry></row>
<row><entry>fortransupport</entry><entry>Suporte para Fortran</entry></row>
<row><entry>javasupport</entry><entry>Suporte para &Java;</entry></row>
<row><entry>perlsupport</entry><entry>Suporte para Perl</entry></row>
<row><entry>phpsupport</entry><entry>Suporte para PHP</entry></row>
<row><entry>pythonsupport</entry><entry>Suporte para Python</entry></row>
</tbody></tgroup>
</table>
<para>No que se segue, alguns dos 'plugins' serão discutidos em detalhe.</para>
<itemizedlist>
<listitem>
<formalpara>
<title>O 'plugin' <command>abbrev</command></title>
<indexterm zone="plugin-tools"><primary><command>abbrev</command></primary></indexterm>
<para>Este 'plugin' expande as abreviaturas em excertos de código usados com frequência. É activado ao carregar em <keycombo><keycap>Ctrl</keycap> <keycap>Espaço</keycap></keycombo>. Por exemplo, quando indicar <literal>"ife"</literal> num ficheiro de C++ no editor e carregar em <keycombo><keycap>Ctrl</keycap><keycap>Espaço</keycap></keycombo>, irá obter um modelo de código <literal>if-else</literal>, poupando assim algum texto escrito manualmente. O conjunto de abreviaturas depende da linguagem de programação do ficheiro editado. Por exemplo, para o PHP, irá estar obviamente interessado noutros modelos de código que não os do &Java;. </para>
</formalpara>
<para>O conjunto de modelos de código é configurável. Se o 'plugin' estiver activo, poderá ver os que estão disponíveis na opção <menuchoice><guimenu>Configuração</guimenu> <guimenuitem>Configurar o KDevelop...</guimenuitem></menuchoice>, em <guibutton>Abreviaturas</guibutton>. </para>
</listitem>
<listitem>
<formalpara id="KDevFilter">
<title>O 'plugin' <command>filter</command></title>
<indexterm zone="plugin-tools"><primary><command>filtro</command></primary></indexterm>
<para>Este oferece duas funcionalidades. Se seleccionar a opção <menuchoice><guimenu>Ferramentas</guimenu> <guimenuitem>Executar o comando</guimenuitem></menuchoice>, poderá indicar um comando da consola. O resultado deste comando é introduzido na janela de edição, quando carregar no botão <guibutton>Iniciar</guibutton>. </para>
</formalpara>
<para>Está disponível uma funcionalidade relacionada em <menuchoice><guimenu>Ferramentas</guimenu><guimenuitem>Filtrar a selecção pelo comando...</guimenuitem></menuchoice>. Para a usar, deverá seleccionar uma área de texto no editor. Se agora indicar um comando e carregar no botão <guibutton>Iniciar</guibutton>, o comando é iniciado e a selecção é usada como dados de entrada para ele. O resultado à saída do comando é então introduzido no editor, substituindo a selecção. </para>
<para>Por exemplo, se você escrever documentação, terá de fazer referência aos itens do menu. Para o fazer correctamente, p.ex., para o comando Copiar do menu Editar, terá de escrever: <programlisting>&lt;menuchoice&gt;&lt;guimenu&gt;Editar&lt;/guimenu&gt;&lt;guimenuitem&gt;Copiar&lt;/guimenuitem&gt;&lt;/menuchoice&gt;</programlisting> Isto é difícil, como tal gostaria de escrever apenas "Editar - Copiar" e deixar que o computador faça a formatação. Aqui está como o poderá fazer. Poderá criar um pequeno programa chamado 'mef', que poderá pôr p.ex., na pasta 'bin' da sua pasta pessoal: <programlisting>sed s/"^\(.*\) - \(.*\)\$"/"&lt;menuchoice&gt;&lt;guimenu&gt;\1&lt;\/guimenu&gt;&lt;guimenuitem&gt;\2&lt;\/guimenuitem&gt;&lt;\/menuchoice&gt;"/</programlisting> Não se esqueça de o tornar executável, e é tudo. Agora, no código .docbook da sua documentação, poderá escrever "Editar - Copiar". Se seleccionar o texto que acabou de escrever, escolha a opção <menuchoice><guimenu>Ferramentas</guimenu><guimenuitem>Filtrar a selecção pelo comando...</guimenuitem></menuchoice> e invoque o '~/bin/mef'. Imediatamente o "Editar - Copiar" será substituído por <programlisting>&lt;menuchoice&gt;&lt;guimenu&gt;Editar&lt;/guimenu&gt;&lt;guimenuitem&gt;Copiar&lt;/guimenuitem&gt;&lt;/menuchoice&gt;</programlisting>
</para>
</listitem>
<listitem>
<formalpara>
<title>O 'plugin' do &doxygen;</title>
<indexterm zone="plugin-tools"><primary>&doxygen;</primary></indexterm>
<indexterm zone="plugin-tools"><primary>ferramenta de documentação</primary></indexterm>
<indexterm zone="plugin-tools"><primary>Documentação da API</primary></indexterm>
<para>Este 'plugin' ajuda a usar a ferramenta de documentação de APIs &doxygen; (<ulink url="http://www.doxygen.org"></ulink>). Poderá seleccionar a opção <menuchoice><guimenu>Projecto</guimenu> <guimenuitem>Executar o Doxygen</guimenuitem></menuchoice> para gerar a documentação da API para o seu projecto actual, com base na configuração indicada pelo ficheiro <filename>Doxyfile</filename> da pasta do seu projecto. </para>
</formalpara>
<para>Para além disso, poderá configurar o &doxygen; no menu <menuchoice><guimenu>Projecto</guimenu> <guimenuitem>Opções do projecto...</guimenuitem></menuchoice>. Esta janela é bastante semelhante à ferramenta &doxywizard;. </para>
</listitem>
<listitem>
<formalpara>
<title>O 'Plugin' do &ctags;</title>
<indexterm zone="plugin-tools"><primary>&ctags;</primary></indexterm>
<para>Ainda que o navegador de classes lhe dê uma análise extensiva dos símbolos e classes do seu projecto, poderá também querer usar a ferramenta 'ctags'. Em particular, este suporta bastantes mais linguagens que o navegador de classes. </para>
</formalpara>
<para>Pode activar este 'plugin' em <menuchoice><guimenu>Ferramentas</guimenu> <guimenuitem>CTags...</guimenuitem></menuchoice>. Quando a iniciar da primeira vez, o utilizador será questionado para criar uma base de dados de procura. Quando aceitar essa opção, o programa &ctags; irá iniciar e irá criar um ficheiro chamado <filename>tags</filename> na pasta do seu projecto. Este é um ficheiro de texto que contém todos os símbolos dos seus ficheiros de código. </para>
<para>Poderá procurar na base de dados de símbolos de duas formas: quando a opção <guilabel>Corresponder à expressão regular</guilabel> estiver assinalada, o texto que introduzir será interpretado como uma expressão regular (variante POSIX) e aplicada aos símbolos existentes. Por exemplo, o texto <literal>.*Widget</literal> irá procurar por todos os símbolos que terminem em <literal>Widget</literal>. Se a opção não estiver assinalada, a pesquisa será feita à letra. </para>
<para>Ao procurar, irá obter uma lista dos símbolos correspondentes, acompanhada dos números de linha em que estes são definidos. Poderá saltar para o ponto respectivo, se carregar num item da lista. </para>
<para>Para algumas linguagens, o &ctags; distingue os diferentes tipos de símbolos. Por exemplo, o Python tem classes e funções. Poderá optar por procurar apenas por classes, assinalando ou desligando os tipos respectivos na janela. </para>
<para>A base de dados de símbolos normalmente não é actualizada com as modificações do seu código. Por consequência, ao fim de algum tempo, os números de linha já não estarão mais correctos, e irão faltar as classes e funções novas. Como tal, deverá actualizar o ficheiro <filename>tags</filename> com intervalos regulares, carregando no botão <guibutton>Gerar de novo</guibutton>. </para>
</listitem>
<listitem>
<formalpara>
<title>O 'plugin' <command>astyle</command></title>
<indexterm zone="plugin-tools"><primary><command>astyle</command></primary></indexterm>
<indexterm zone="plugin-tools"><primary><application>Estilo Artístico</application></primary></indexterm>
<indexterm zone="plugin-tools"><primary>indentação</primary></indexterm>
<para>O 'astyle' é um 'plugin' para formatar o código-fonte, de acordo com um conjunto definido de regras. </para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>O 'plugin' <command>regexptest</command></title>
<indexterm zone="plugin-tools"><primary><command>regexptest</command></primary></indexterm>
<indexterm zone="plugin-tools"><primary>depuração</primary><secondary>expressões regulares</secondary></indexterm>
<indexterm zone="plugin-tools"><primary>expressões regulares</primary><secondary>depuração</secondary></indexterm>
<para>A programação com expressões regulares poderá ser bastante complicada. Muitas das vezes, à primeira tentativa, uma expressão irá corresponder com demasiado texto. Em particular, ao lidar com uma linguagem compilada, os tempos em que se anda às voltas a depurar uma expressão regular poderão ser desgastantes. O 'plugin' 'regexptest' permite-lhe explorar directamente as alterações numa expressão regular. É activada ao escolher a opção <menuchoice><guimenu>Ferramentas</guimenu> <guimenuitem>Depurar a Expressão Regular...</guimenuitem></menuchoice>. </para>
</formalpara>
<para>No grupo da variante, poderá escolher a variante do motor de expressões regulares usada. As versões suportadas de momento são as da norma do POSIX, que é usado pelo programa &grep;, e a sintaxe extendida do POSIX, que é usada pelo programa &egrep;. </para>
<para>Quando introduzir uma expressão, irá obter uma reacção imediata sobre os erros de sintaxe da mesma. Ao indicar um texto qualquer no <guilabel>Texto de teste</guilabel>, poderá ver se a expressão corresponde a este texto. Em particular, se a sua expressão incluir grupos, como o <literal>([a-z])</literal>, o conteúdos dos sub-grupos será apresentado numa lista. </para>
</listitem>
<!--
<listitem>
<formalpara>
<title>The <command>konsole</command> Plugin</title>
<indexterm zone="plugin-tools"><primary><command>konsole</command></primary></indexterm>
<indexterm zone="plugin-tools"><primary>terminal</primary><secondary>embedded</secondary></indexterm>
<para></para>
</formalpara>
</listitem>
-->
</itemizedlist>
</appendix> <!-- plugin-tools -->
<!-- ====================================================================== -->