blob: 04bc093383f9e6eba38af7e79988df40aea35062 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= Instruções da Aplicação C/C++ para Assistência ao Código
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Instruções da Aplicação C/C++ para Assistência ao Código - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Instruções da Aplicação C/C++ para Assistência ao Código
_Colaboração de link:mailto:vladimir.kvashin@oracle.com[+_Vladimir Kvashin_+] e link:mailto:vladimir.voskresensky@oracle.com[+_Vladimir Voskresensky_+]
Março de 2013_ [Número da revisão: V8.0]
A assistência ao código é um conjunto de funcionalidades do IDE que ajuda a navegar e editar o código-fonte. Para um Projeto C/C++ com Códigos-fonte Existentes ou um Projeto C/C++ do Binário Existente, você pode especificar como seu código será submetido a parse para ativar as funcionalidades de assistência ao código do IDE.
Observe que as dicas deste artigo aplicam-se principalmente a projetos de código-fonte existente ou de um binário existente. Para projetos que são criados e gerenciados pela assistência ao código IDE, a configuração não é necessária.
== O que Fazer quando seu Projeto Tem um Ponto de Interrogação na Janela Projetos
Se seu projeto tem um ponto de interrogação na janela projetos ou uma diretiva ``#include`` está sublinhada em vermelho, então seu projeto tem políticas include não resolvidas. O IDE usa o parser interno que é usado por funcionalidades de Assistência ao Código (Autocompletar Código, janela Classes, janela Navegador etc.). As marcações significam que esse parser não conseguiu resolver algumas diretivas ``#include`` , pois o projeto IDE tem uma configuração incorreta. Isso pode ter ocorrido se o projeto tiver sido criado de fontes existentes sem a ajuda de informações de depuração ou se, por exemplo, os arquivos de origem tiverem incluído novas bibliotecas desde a criação do projeto IDE.
Estes são alguns dos possíveis motivos (organizados do mais para o menos provável):
* Caminhos include do usuário errados ou insuficientes especificados no projeto, na pasta lógica ou nas propriedades do arquivo
* Macros definidas pelo usuário erradas ou insuficientes especificadas no projeto, na pasta lógica ou nas propriedades do arquivo
* O arquivo de código-fonte foi incluído no projeto por engano
* O arquivo de cabeçalho não foi incluído em nenhum arquivo de código-fonte e, portanto, foi incluído no projeto por engano
Se você retiver o cursor do mouse sobre a pasta do projeto, uma dica de ferramenta exibirá algumas informações sobre o problema. Para obter mais informações, você pode clicar com o botão direito do mouse e selecionar Assistência ao Código -> Diretivas #include/#error com falha.
Tente iniciar o assistente Configurar Assistência ao Código clicando com o botão direito do mouse no nó do projeto e selecionando Assistência ao Código > Configurar Assistência ao Código para resolver o problema. Se você conhece o local dos arquivos que correspondem à diretiva include com falha, poderá configurar manualmente o projeto, a pasta lógica e as propriedades do arquivo.
== Configurando o Analisador de Código para a Assistência ao Código
Suponha que o código-fonte da sua aplicação seja gerenciado com um VCS (sistema de controle de versão) como Mercurial e você crie um projeto do IDE com o código-fonte. Se você abrir o projeto do IDe no IDE e obtiver as alterações do VCS, deverá compilar o projeto do IDE para atualizá-lo com as modificações.
Depois que você criar seu projeto no IDE, o projeto será automaticamente atualizado pelo IDE das seguintes formas:
* Novas unidades de compilação serão adicionadas ao projeto do IDE.
* As unidades de compilação existentes serão modificadas com inclusões e macros definidas pelo usuário novas ou alteradas.
* As unidades de compilação que são excluídas da compilação não são excluídas da assistência ao código.
O IDE usa um analisador de compilação para obter informações da compilação, usando uma técnica de interposição para obter chamadas de exec da biblioteca do sistema nas plataformas Oracle Solaris e Linux. Por padrão, o analizador de compilação é usado quando você cria um projeto com fontes existentes e quando executa manualmente Configurar Assistência ao Código. Se o analizador de compilação não for usado, o log de saída da compilação será usado para capturar informações.
Se você não quiser que o IDE execute atualizações no projeto, poderá desativar o analizador de compilação desta forma:
1. Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione Propriedades.
2. Na caixa de diálogo Propriedades do Projeto, clique na categoria Assistência ao Código.
3. Cancele a seleção da opção Usar Analisador de Compilação.
Para projetos de código-fonte que configuram o próprio ambiente no momento da compilação, o analisador de compilação nem sempre funciona bem. Se uma compilação falhar quando a opção Usar Analisador de Compilação for selecionada, você deverá verificar o script da compilação para ver se cancelou a definição da variável de ambiente ``LD_LIBRARY_PATH`` . Se ``LD_LIBRARY_PATH`` não estiver definida, você também deverá cancelar a definição de ``LD_PRELOAD`` . Quando a definição dessas duas variáveis é cancelada, o analizador de compilação é automaticamente desativado. Se você não conseguir modificar o script da compilação, poderá desativar o analizador de compilação como descrito acima e o IDE poderá usar o log de saída para obter informações da compilação.
== Configurando a Assistência ao Código para um Projeto Multiplataforma
Se você estiver desenvolvendo um projeto multiplataforma usando um código existente, poderá usar o mesmo projeto IDE para diferentes plataformas. Crie uma configuração por plataforma e alterar a coleção de compiladores, opções do compilador e outras propriedades do projeto adequadamente.
O assistente Configurar Assistência ao Código também funciona por configuração: ele altera somente a configuração que está atualmente ativa. Portanto, é possível executá-lo separadamente para cada configuração e obter diferentes definições de assistência ao código para diferentes plataformas.
== Configurando a Assistência ao Código Quando Você não Consegue Construir o Projeto
O assistente Configurar Assistência ao Código será mais eficiente se você criar seu código com informações de depuração (as melhores opções são ``-g3 -gdwarf-2`` para compiladores GNU e somente ``-g`` para compiladores Oracle Solaris Studio.
Caso não seja possível compilar seu projeto ou se ele não contiver informações de depuração, o assistente Configurar Assistência ao Código tem um modo especial denominado Pesquisar Sistema de Arquivos para Arquivos de Cabeçalho C/C++. Nesse modo, o NetBeans IDE tenta solucionar diretivas include com falha procurando cabeçalhos no sistema de arquivos. O assistente permite inserir um caminho para pesquisar cabeçalhos. Por padrão, o caminho pesquisado é uma raiz de origem do projeto.
Para usar o assistente, clique com o botão direito do mouse e escolha Assistência ao Código > Configurar Assistência ao Código. Siga as etapas do assistente para permitir que o IDE atualize a assistência ao código. Clique no botão Ajuda para obter informações sobre cada etapa.
== Usando Hiperlinks para Navegar entre Chamadas e Declarações
A navegação por hiperlinks permite passar de chamadas de uma função, classe, método, variável ou constante para sua declaração. Para usar um hiperlink, siga um destes procedimentos:
* Passe o mouse sobre uma classe, método, variável ou constante, pressionando a tecla Ctrl. Um hiperlink é exibido juntamente com uma dica de ferramenta com informações sobre o elemento. Clique no hiperlink e o editor passará para a declaração. Pressione Alt+Seta para a esquerda para voltar para a chamada.
* Passe o mouse sobre um identificador e pressione Ctrl+B. O editor passa para a declaração.
* Pressione Alt+Seta para a esquerda para voltar para a chamada. Pressione Alt+Seta para a esquerda e Alt + Seta para a direita para se mover para frente e para trás no histórico de posição do cursor.
Você também pode clicar com o botão direito do mouse em um item e selecionar Navegar > Ir para Declaração/Definição ou outras opções para navegar pelo código.
== Encontrando Todas as Definições de um Namespace
Um namespace pode ser definido em diferentes arquivos do projeto. Para navegar entre diferentes definições de namespace, use a janela Classes (Ctrl-9). Clique com o botão direito do mouse no namespace no qual está interessado e selecione Todas as Declarações. Você verá uma lista de todas as definições classificadas por nomes de arquivo.
link:mailto:users@cnd.netbeans.org?subject=subject=Feedback:%20C/C++%20Application%20How-Tos%20-%20NetBeans%20IDE%208.0[+Enviar Feedback neste Tutorial+]