Editando e navegando em arquivos de fonte C/C++ - Tutorial NetBeans IDE 6.9
Contribuição de Ann Rice e mantida por Susan Morgan
Setembro de 2010 [Número da versão: V6.9-2]
O breve tutorial a seguir guia você por algum dos recursos para navegação e edição dos arquivos de fonte em um projeto C ou C++ no NetBeans 6.9.
Conteúdo
Requisitos
Para seguir este tutorial, você precisa dos recursos e softwares a seguir.
Consulte as Instruções de instalação do NetBeans IDE 6.9 e Configurando o NetBeans IDE para C/C++/Fortran
para obter informações sobre o download e a instalação do software necessário.
Projetos de amostra
Apenas deseja brincar com alguns projetos? No IDE, escolha Arquivo > Projeto novo e, em seguida, abra a categoria Amostras e a subcategoria C/C++. O IDE fornece vários projetos C e C++ de amostra para ajudá-lo a se familiarizar com o IDE.
Criando o projeto de amostra
O NetBeans IDE 6.9 com o plug-in C/C++ fornece recursos avançados de edição para modificar o código fonte. Para explorar esses recursos, usaremos o projeto Quote. Caso você ainda não tenha criado esse projeto, faça o seguinte:
- Escolha Arquivo > Novo projeto.
- No assistente do projeto, expanda a categoria Amostras e selecione a subcategoria C/C++.
- Selecione o projeto Quote. Clique em Próximo e, em seguida, Terminar.
Editando arquivos de código-fonte C e C++
Definindo o estilo de formatação
Você pode utilizar a janela Opções para configurar o estilo de formatação padrão dos seus projetos C e C++.
- Escolha Ferramentas > Opções.
- Clique em Editor no painel superior da janela.
- Clique na aba Formatação.
- Selecione a linguagem C++ da lista suspensa Linguagem, pois o projeto Quote utiliza C++.
- Selecione o estilo que deseja definir na lista suspensa Estilo.
- Modifique as propriedades de estilo conforme desejado.
Dobrando blocos de código em arquivos C e C++
Para alguns tipos de arquivos, você pode utilizar o recurso de dobramento de código para recolher blocos de código, de forma que somente a primeira linha do bloco apareça no Editor de código.
- No projeto de aplicativo Quote_1, abra a pasta Arquivos-fonte e clique duas vezes no arquivo cpu.cc para abri-lo no Editor de código.
- Clique no ícone de recolhimento (caixa pequena com sinal de menos) na margem esquerda para dobrar o código de um dos métodos.
- Passe o mouse sobre o símbolo {...} à direita do bloco dobrado para exibir o código no bloco.
Utilizando realce de semântica
Se essa opção estiver selecionada, quando você clicar em uma classe, função, variável ou macro, todas as ocorrências dessa classe, função, variável ou macro no arquivo atual são realçadas.
- Escolha Ferramentas > Opções.
- Clique em C/C++ no painel superior da janela.
- Clique na aba Realce.
- Certifique-se de que todas as caixas de seleção estejam marcadas.
- Clique em OK.
- No arquivo customer.cc do projeto Quote_1, observe que esses nomes de métodos estão realçados com negrito.
- Clique em uma ocorrência da classe Cliente.
- Toas as ocorrências da classe Cliente no arquivo estão realçadas com um fundo amarelo. A margem da direita também mostra marcações que indicam pontos onde uma ocorrência está localizada no arquivo. As marcações permitem a visualização de quantas ocorrências existem sem rolar o arquivo. É possível clicar nas marcações para saltar às ocorrências que elas representam.
- Para navegar facilmente entre as ocorrências, pressione as teclas Alt+seta para baixo para ir para a próxima ocorrência e Alt+seta para cima para ir para a ocorrência anterior.
- Abra o arquivo customer.h, localizado na pasta Cabeçalho e observe que nomes de método estão novamente realçados em negrito.
Utilizando autocompletar código e documentação
O IDE tem um recurso dinâmico de autocompletar código C e C++ que permite que você digite um ou mais caracteres e, em seguida, exiba uma lista de possíveis classes, métodos, variáveis, e assim por diante, que podem ser usados para concluir a expressão automaticamente.
O IDE também localiza dinamicamente documentações para as classes, funções, métodos e etc. e exibe a documentação em uma janela pop up.
- Abra o arquivo quote.cc no projeto Quote_1
- Na primeira linha em branco do quote.cc, digite a letra C em maiúsculo e pressione Ctrl-Espaço. A caixa de autocompletar código exibe uma pequena lista que inclui as classes Cpu e Cliente. Uma janela de documentação também aparece, mas exibe "Nenhuma documentação encontrada" porque a fonte do projeto não inclui documentação para esse código.
- Expanda a lista de itens pressionando Ctrl-Espaço novamente.
- Utilize as teclas de seta ou o mouse para realçar uma função de biblioteca padrão como calloc e a janela da documentação exibe a página do manual para essa função se a página do manual está acessível para o IDE.
- Selecione a classe Cliente e pressione Enter.
- Complete a nova instância da classe Cliente digitando " andrew;". Na próxima linha, digite a letra a e pressione Ctrl-Espaço. A caixa de autocompletar código exibe uma lista de opções começando com a letra a, tais como argumentos de método, campos de classe e nomes globais, que podem ser acessados no menu de contexto.
- Clique duas vezes na opção andrew para aceitá-la e digite um ponto depois dela. Você recebe automaticamente uma lista dos métodos e campos públicos da classe Cliente.
- Exclua o código que você adicionou.
Adicionando documentação de códigos fonte
É possível adicionar comentários ao código para gerar automaticamente documentação para as funções, classes e métodos. O IDE reconhece comentários que utilizam sintaxe Doxygen e gera documentação automaticamente. O IDE também pode gerar automaticamente um bloqueio aos comentários para documentar a função abaixo do comentário.
- No arquivo quote.cc, coloque o cursor na linha 74 ou na linha abaixo da linha
int readNumberOf(const char* item, int mín, int máx) {
- Digite uma barra e dois asteriscos e pressione Enter. O editor insere um comentário formatado Doxygen para a classe readNumberOf.
- Adicione algum texto descritivo para cada uma das linhas @param e salve o arquivo.
- Enquanto a classe readNumberOf ainda está realçada em amarelo, clique em um dos marcadores de ocorrência na direita para saltar para o local onde a classe é utilizada.
- Clique na classe readNumberOf na linha para qual você saltou e pressione Ctrl-Shift-Espaço para mostrar a documentação recentemente adicionada aos parâmetros.
- Clique em qualquer lugar no arquivo para finalizar a janela de documentação, e clique na classe readNumberOf.
- Utilize a opção do menu Fonte > Mostrar documentação para abrir novamente a janela de documentação para a classe.
Usando modelos de códigos
O Editor de código tem um conjunto de modelos de código personalizáveis para fragmentos de código C e C++. É possível gerar o fragmento de código completo digitando a abreviação e pressionando a tecla Tab. Por exemplo, no arquivo quote.cc do projeto Quote:
- digite uns seguido por uma aba e uns expande para não assinado.
- Digite iff seguido por uma aba e iff expande para if(exp) {}.
- Digite ife seguido por uma aba e ife expande para if(exp) {} else {}.
- Digite fori seguido por uma aba e fori expande para para(int i = 0; i< size++) { Object elem = array[i];.
É possível visualizar todos os modelos de código disponíveis, modificando os modelos de código e criando seu próprio modelo de código. É possível selecionar também uma chave diferente para expandir os modelos de código. Escolha Ferramentas > Opções > Editor > Modelos de códigos e selecione a linguagem apropriada.
Usando conclusão de par
Quando você edita os arquivos-fonte C e C++, o Editor de código efetua a correspondência "inteligente" de pares de caracteres, como colchetes, parênteses e aspas. Quando você digita um desses caracteres, o Editor de código insere automaticamente o caractere de fechamento.
- No projeto Quote_1, coloque o cursor após a linha { 115 do arquivo module.cc e pressione Retornar para abrir uma linha nova.
- Digite enum state { e pressione Retornar. O colchete de fechamento e o ponto-e-vírgula são adicionados automaticamente e o cursor é colocado na linha entre os colchetes.
- Digite invalid=0, success=1 para completar a enumeração.
- Na linha depois do }; de fechamento da enumeração, digite if (. O parêntese de fechamento é adicionado automaticamente e o cursor é colocado entre os parênteses.
- Digite v==null. Em seguida, digite { e a nova linha depois do parêntese à direita. O colchete de fechamento é adicionado automaticamente.
- Exclua o código que você adicionou.
Navegando arquivos de código-fonte C e C++
O NetBeans IDE 6.9 com o plug-in C/C++ fornece recursos avançados de edição para modificar o código fonte. Para explorar esses recursos, usaremos o projeto Quote_1.
Utilizando a janela Classes
A janela Classes permite exibir todas as classes do projeto ++ e os membros e campos de cada classe.
- Clique na aba Classes para exibir a janela Classes. Se a aba Classes não está disponível, selecione Janelas > Classes
- Expanda o nó Quote_1 na janela Classes. São listadas todas as classes do projeto.
- Expanda a classe Cliente.
- Clique duas vezes na variável name para abrir o arquivo de cabeçalho customer.h.
Usando a janela Navegador
A janela Navegador oferece uma visualização compacta do arquivo selecionado atualmente e simplifica a navegação entre diferentes partes do arquivo. Se não foi possível visualizar a janela Navegador, selecione Janela > Navegação > Navegador para abrí-la.
- Clique em qualquer parte do arquivo quote.cc na janela Editor.
- Uma visualização compacta do arquivo é exibida na janela Navegador.
- Para navegar para um elemento do arquivo, clique duas vezes no elemento na janela Navegador e o cursor na janela Editor se move para esse elemento.
- Clique com o botão direito no Navegador para escolher uma maneira diferente para classificar os elementos, agrupar os itens ou filtrá-los.
Para descobrir o que os ícones no Navegador representam, abra a ajuda online do IDE escolhendo Ajuda > Conteúdo de ajuda e busque por "ícones de navegação" na janela de ajuda.
Localizando usos de classe, método e campo
Você pode utilizar a janela Usos para mostrar todo lugar em que uma classe (estrutura), função, variável, macro ou arquivo é usado no código-fonte do projeto.
- No arquivo customer.cc, clique com o botão direito do mouse na classe Cliente, linha 44 e escolha Localizar usos.
- Na caixa de diálogo Localizar usos, clique em Localizar.
- A janela Usos se abre e exibe todos os usos da classe Cliente nos arquivos de código-fonte do projeto.
Usando o gráfico de chamada
A janela Gráfico de chamada exibe duas visualizações das relações de chamadas entre as funções no projeto. Uma exibição em árvore mostra as funções chamadas de uma função selecionada ou as funções que chamam a função selecionada. Uma vista gráfica mostra a relação chamada utilizando setas entre as funções chamadas e chamar.
- No arquivo quote.cc, clique com o botão direito do mouse na função main e escolha Mostrar gráfico de chamada.
- A janela Gráfico de chamada abre e exibe uma vista de árvore e gráfica de todas as funções chamadas da função principal.
Se não for possível visualizar todas as funções mostradas aqui, clique no terceiro botão no lado esquerdo da janela Gráfico de chamada para mostrar "quem é chamado para essa função."
- Expanda o nó endl para exibir as funções chamadas por tal função. Observe que o gráfico é atualizado para mostrar as funções chamadas por endl também.
- Clique no segundo botão no lado esquerdo da janela para focar na função endl e, em seguida, clique no quarto botão para visualizar todas as alterações das funções que chamam a função endl.
- Expanda alguns nós da árvore para ver mais funções.
Usando hyperlinks
A navegação de hyperlink permite que você salte da chamada de uma classe, método, variável ou constante para a sua declaração, e da sua declaração para sua definição. Os hiperlinks também permitem que você salte de um método que está substituído para o método que o substitui e vice versa.
- No arquivo cpu.cc do projeto Quote_1, mova o mouse sobre a linha 36 enquanto o Ctrl estiver pressionado. A função ComputeSupportMetric está realçada e uma anotação exibe informações sobre a função.
-
Clique no hyperlink e o editor salta para a definição da função.
- Mova o mouse sobre a definição quanto o Ctrl estiver pressionado e clique no hyperlink. O editor salta para a declaração da função no arquivo de cabeçalho cpu.h.
- Clique na seta da esquerda na barra de ferramentas do editor (circulado como na captura de tela) e o editor salta de volta para a definição no cpu.cc.
- Passe o mouse sobre o círculo verde na margem esquerda e veja a anotação que indica que este método substitui qualquer outro método.
- Ao clicar no círculo verde para ir para o método substituído, você salta para o arquivo de cabeçalho module.h, que mostra um círculo cinza na margem para indicar que o método está substituído.
- Ao clicar no círculo cinza, o editor exibe uma lista de métodos que substituíram esse método.
- Ao clicar no item Cpu::ComputeSupportMetric, você salta de volta para a declaração do método no arquivo de cabeçalho cpu.h.
Utilizando a hierarquia de inclusão
A janela Hierarquia de inclusão permite que você inspecione todos os arquivos-fonte e de cabeçalho que são direta ou indiretamente incluídos em um arquivo-fonte ou todos os arquivos de cabeçalho que direta ou indiretamente incluem um arquivo de cabeçalho.
- No projeto Quote_1, abra o arquivo module.cc no Editor fonte.
- Clique com o botão direito do mouse na linha #include "module.h" no arquivo e escolha Navegar > Visualizar hierarquia de inclusões.
- Como padrão, a janela Hierarquia exibe uma lista sem formatação de arquivos que incluem diretamente o arquivo de cabeçalho. Clique no botão mais à direita na parte inferior da janela para alterar a exibição para a visualização em árvore. Clique no segundo botão da direita para alterar a exibição para todos os arquivos que incluem ou são incluídos. Expanda os nós na visualização em árvore
para ver todos os arquivos de código-fonte que incluem o arquivo de cabeçalho.
Utilizando a Hierarquia de tipo
A janela Hierarquia de tipo permite que você inspecione todos os subtipos ou supertipos de uma classe.
- No projeto Quote_1, abra o arquivo module.h.
- Clique com o botão direito do mouse na declaração da classe Módulo e escolha Navegar > Exibir hierarquia de tipo.
- A janela Hierarquia exibe todos os subtipos da classe Módulo.
Consulte Depurando projetoc C/C++ para um tutorial sobre a utilização de alguns dos recursos para depurar um projeto C ou C++ no NetBeans IDE.