Ferramentas em 'Plugins' 'plugins' 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. 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. 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). 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: Nuclear Global Projecto 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'. 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. 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. Como foi dito acima, os 'plugins' do núcleo não poderão ser desactivados. Os 'plugins' globais podem ser activados/desactivados em Configuração Configurar o KDevelop... em 'Plugins'. Os 'plugins' do projecto podem ser activados/desactivados na opção Projecto Opções do Projecto... em 'Plugins'. 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. Os 'plugins' que estão desactivados não enchem os seus menus e não são carregados na memória. 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. Os 'plugins' estão organizados por âmbito (Nuclear, Global, Projecto). Âmbito: Nuclear Assistente de Aplicações Assistente de Aplicações Visualizador de Diferenças Visualizador de Diferenças Criação de Ficheiros Criação de Ficheiros Ecrã Completo Ecrã Completo Dica do Dia Dica do Dia Selecção da Interface do Utilizador Oferece uma janela para a selecção do modo de interface do utilizador. Gestor de SCV Gestor do Sistema de Controlo de Versões Âmbito: Global Expansão de Abreviaturas Oferece o suporte para as abreviaturas personalizadas - as palavras pequenas que se expandem em estruturas de código comuns necessárias. Documentação 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. Lista de Ficheiros Oferece uma lista com todos os ficheiros abertos. (É útil quando a barra de páginas não é suficientemente larga.) Selector de Ficheiros Um utilitário de navegação de ficheiros transparente na rede e poderoso. Filtragem e Inserção da Linha de Comandos Oferece uma forma de manipular o texto do editor com base em ferramentas da linha de comandos. Aparece no menu Ferramentas. Interface do Grep Integra o "find|grep" no KDevelop - permite uma procura rápida em vários ficheiros, com padrões e expressões regulares. Konsole Embebido Este 'plugin' dá ao KDevelop um Konsole incorporado, para poder aceder fácil e rapidamente à linha de comandos. Adição do Menu "Abrir com" Este 'plugin' oferece alternativas adicionais para "abrir" nos vários menus de contexto do KDevelop. Ferramenta de Exploração de Componentes Uma ferramenta gráfica para efectuar pesquisas do tipo do TDETrader acerca dos serviços registados Teste de Expressões Regulares Uma ferramenta para desenhar e testar expressões regulares, usando as sintaxes de expressões regulares normais. Componente de Substituição 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. Programação O 'plugin' de Programação oferece capacidades de programação em KScript à aplicação KDevelop Excertos de Código Este 'plugin' permite-lhe gravar excertos de código e adicioná-los ao seu código Estrutura do Texto Oferece uma vista estrutural e de navegação para os ficheiros em HTML e TEX Adição ao Menu de Ferramentas Este 'plugin' oferece uma forma simples para adicionar aplicações externas ao menu e às barras de Ferramentas. Interface para o Valgrind 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/ Âmbito: Projecto 'Plugin' de anotações Descrição da anotação Formatador do Código-Fonte 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. Favoritos Um 'plugin' que oferece a navegação e a apresentação de favoritos de código activos, mantendo-os persistentes entre sessões. Área de Classes 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. Copiar Para Um 'plugin' de envio de ficheiros simples. Faz uma cópia de ficheiros através de qualquer protocolo suportado pelo TDEIO. Interface para o CTags 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/ Suporte de Empacotamento Final Ajuda na criação de pacotes e na publicação do projecto final. Só é suportado o formato de pacotes RPM, por agora. Suporte para Doxygen 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 Abertura Rápida Oferece uma forma eficiente de procurar/abrir ficheiros, classes e métodos num projecto grande. Aparece nos menus Ficheiro e Ferramentas, quando estiver carregado. Verificação de Segurança Verificação da segurança do código Até agora, foi a lista de 'plugins' gerada. 'Plugins' de Gestão de Projectos do &tdevelop; antproject Gestor de Projectos do ANT (aplicações de &Java;) autoproject Gestor de Projectos do Automake customproject Gestor de Projectos Personalizados trollproject Gestor de Projectos baseado no QMake
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. 'Plugins' de Suporte de Linguagens no &tdevelop; cppsupportSuporte para C/C++fortransupportSuporte para FortranjavasupportSuporte para &Java;perlsupportSuporte para PerlphpsupportSuporte para PHPpythonsupportSuporte para Python
No que se segue, alguns dos 'plugins' serão discutidos em detalhe. O 'plugin' <command >abbrev</command > abbrev Este 'plugin' expande as abreviaturas em excertos de código usados com frequência. É activado ao carregar em Ctrl Espaço. Por exemplo, quando indicar "ife" num ficheiro de C++ no editor e carregar em CtrlEspaço, irá obter um modelo de código if-else, 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;. 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 Configuração Configurar o KDevelop..., em Abreviaturas. O 'plugin' <command >filter</command > filtro Este oferece duas funcionalidades. Se seleccionar a opção Ferramentas Executar o comando, poderá indicar um comando da consola. O resultado deste comando é introduzido na janela de edição, quando carregar no botão Iniciar. Está disponível uma funcionalidade relacionada em FerramentasFiltrar a selecção pelo comando.... Para a usar, deverá seleccionar uma área de texto no editor. Se agora indicar um comando e carregar no botão Iniciar, 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. 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: <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> 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: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ 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 FerramentasFiltrar a selecção pelo comando... e invoque o '~/bin/mef'. Imediatamente o "Editar - Copiar" será substituído por <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> O 'plugin' do &doxygen; &doxygen; ferramenta de documentação Documentação da API Este 'plugin' ajuda a usar a ferramenta de documentação de APIs &doxygen; (). Poderá seleccionar a opção Projecto Executar o Doxygen para gerar a documentação da API para o seu projecto actual, com base na configuração indicada pelo ficheiro Doxyfile da pasta do seu projecto. Para além disso, poderá configurar o &doxygen; no menu Projecto Opções do projecto.... Esta janela é bastante semelhante à ferramenta &doxywizard;. O 'Plugin' do &ctags; &ctags; 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. Pode activar este 'plugin' em Ferramentas CTags.... 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 tags na pasta do seu projecto. Este é um ficheiro de texto que contém todos os símbolos dos seus ficheiros de código. Poderá procurar na base de dados de símbolos de duas formas: quando a opção Corresponder à expressão regular 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 .*Widget irá procurar por todos os símbolos que terminem em Widget. Se a opção não estiver assinalada, a pesquisa será feita à letra. 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 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. 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 tags com intervalos regulares, carregando no botão Gerar de novo. O 'plugin' <command >astyle</command > astyle Estilo Artístico indentação O 'astyle' é um 'plugin' para formatar o código-fonte, de acordo com um conjunto definido de regras. O 'plugin' <command >regexptest</command > regexptest depuraçãoexpressões regulares expressões regularesdepuração 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 Ferramentas Depurar a Expressão Regular.... 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;. Quando introduzir uma expressão, irá obter uma reacção imediata sobre os erros de sintaxe da mesma. Ao indicar um texto qualquer no Texto de teste, poderá ver se a expressão corresponde a este texto. Em particular, se a sua expressão incluir grupos, como o ([a-z]), o conteúdos dos sub-grupos será apresentado numa lista.