Lazarus IDE Tools/pt
Introdução
A IDE usa uma biblioteca do código pascal analisando gramaticalmente e editando ferramentas, chamada de "codetools". Estas ferramentes dão capacidades como encontrar declaração (find declaration), completar código(code completion), extração (extraction), movendo inserindo e embelezando códigos pascal. Estas funções reduzem o seu tempo e facilitam o seu trabalho. Eles são customizáveis e cada um deles está disponível via teclas de atalho (veja Editor Options).
Porque trabalham unicamente em fontes e compreendem o código do FPC, do Delphi e do Kylix, não requerem unidades compiladas nem um compilador instalado da Borland. Você pode editar Delphi e código de FPC ao mesmo tempo. Você pode mesmo trabalhar com diversos Delphi e versões de FPC ao mesmo tempo. Isto faz o código do Delphi ser portado muito mais facilmente.
Sumário da tabela de teclas de atalho da IDE
Declaration Jumping | Ctrl+Click or Alt+Up (pula para a declaração do tipo ou variável) |
Method Jumping | Ctrl+Shift+Up (alterna entre definição e corpo) |
Code Templates | Ctrl+J |
Code Completion (Completa Classe) | Ctrl+Shift+C |
Identifier Completion | Ctrl+Space |
Word Completion | Ctrl+W |
Parameter Hints | Ctrl+Shift+Space |
Método Pulando
Para pular entre o corpo do procedimento(begin..end) e a definição do procedimento (procedure Name;) use Ctrl+Shift+Up.
Por Exemplo:
interface procedure DoSomething; // procedure definition implementation procedure DoSomething; // procedure body begin end;
Se o cursor está no corpo do procedimento e você pressionar Ctrl+Shift+Up, o cursor irá pular para a definição. Pressionando Ctrl+Shift+Up outra vez irá para o corpo, depois do 'begin'.
Isto trabalha entre métodos(procedimentos nas classes) muito bem.
Dicas: 'Método Pulando' pula para o mesmo procedimento com o mesmo nome e parâmetros. Se não há exato procedimento, pula para melhor candidato e posiciona o cursor na primeira diferença.(o Delphi não faz isto).
Por exemplo um procedimento com diferentes tipos de parâmetros:
interface procedure DoSomething(p: char); // procedure definition implementation procedure DoSomething(p: string); // procedure body begin end;
...para fazer