Ir para o conteúdo

Funcionalidades

Linguagens suportadas

Suporte à linguagem C/C++ do KDevelop

As seguintes linguagens são totalmente suportadas, o que significa que elas contam com destaque de sintaxe semântica, navegação de código e complementação:

  • C/C++ e ObjC (apoiados pelas bibliotecas Clang/LLVM)
  • Qt QML e JavaScript
  • Python (plugin opcional)
  • PHP (plugin opcional)

Para praticamente todas as linguagens não suportadas, ainda há destaque de sintaxe básica e complementação de código baseada em texto.

Sistemas de controle de versão suportados

A funcionalidade "Mostrar anotação" com o Git VCS.

Os seguintes sistemas de controle de versão têm integração com a interface:

  • Git
  • Bazaar
  • Subversion
  • CVS
  • Mercurial (hg) (plugin opcional)
  • Perforce (desde a versão 5.1)

Uma funcionalidade especialmente útil é a borda Anotar, que mostra quem alterou uma linha pela última vez e quando. Exibir a diferença que introduziu essa alteração está a apenas um clique de distância!

Sistemas de compilação suportados

Diálogo de configurações do CMake do KDevelop

Os seguintes sistemas de compilação são suportados, o que significa que o KDevelop pode automaticamente executar e compilar alvos, bem como incluir caminhos a partir deles:

  • CMake
  • QMake
  • Makefiles personalizados (parcialmente)
  • Sistema de compilação genérico (sem detecção automática de caminho de inclusão)

O KDevelop sabe como invocar ferramentas de automação de compilação, como make e ninja, e possui páginas de configuração dedicadas para elas.

Funcionalidades de suporte à linguagem

Para todos as linguagens suportadas, o KDevelop suporta as seguintes funcionalidades:

Widget de navegação

O widget de navegação é apresentado ao mover o mouse sobre itens ou ao pressionar Alt com o cursor de texto sobre eles. O widget permite navegação, ou seja, você pode, por exemplo, navegar até a classe pai da classe que está visualizando para ver o widget de navegação dessa classe pai.

  • Encontrar usos de símbolos (variáveis, tipos, etc.)
  • Saltar para declaração / definição
  • Abertura rápida, permitindo pesquisar qualquer função, classe ou arquivo em todo o projeto.
  • Navegador de projetos, classes e funções

O modo de navegador de código (pressione Ctrl ao clicar em um símbolo) torna muito fácil navegar por uma base de código desconhecida.

Compreensão de código notável

Completamento de código do KDevelop

O KDevelop sempre se orgulhou de seu suporte de última geração à linguagem C/C++. Com a adoção do Clang na versão 5.0, obtemos funcionalidade de análise de código 100% correta, o que significa que o IDE pode verificar com precisão falhas de codificação, mesmo sem que você precise invocar o compilador! Não se limitando a C/C++, todas as linguagens suportadas compartilham os recursos abaixo.

  • Destaque semântico: Destaque que leva em consideração a semântica da linguagem e, por exemplo, destaca nomes de classes de forma diferente de nomes de variáveis, mesmo que isso não possa ser reconhecido apenas pela sintaxe do código.
  • Destaque em arco-íris: Destaca cada ocorrência da mesma variável em uma cor específica, mudando a cada variável. Experimente, você vai adorar quando se acostumar. Opcional.
  • Completamento de código semântico e sensível ao contexto: O KDevelop possui heurísticas sofisticadas projetadas para apresentar as sugestões mais prováveis ​​na posição atual do cursor. Para Python, PHP e JS, esses complementos são gerados a partir da representação de código em cache do KDevelop e, portanto, estão disponíveis instantaneamente — sem atrasos perceptíveis.

Cache de disco persistente para o banco de dados de código. Dependendo do tamanho ou da complexidade do seu projeto, a análise pode demorar um pouco no início; mas, após essa primeira vez, tudo é armazenado em cache no disco e carregado em poucos segundos em cada inicialização subsequente do IDE.

Personalizável

KDevelop usando um tema escuro

Fácil de adaptar ao seu estilo!

  • Livre para reordenar, habilitar ou desabilitar quaisquer botões na barra de menu
  • Visualizações divididas arbitrárias
  • Layout arbitrário de visualizações de ferramentas dentro da janela principal
  • Esquema de cores livremente configurável, separadamente para aplicativo e editor.
  • Pode atribuir atalhos para quase todas as ações no IDE

Integração da documentação

Integração da documentação do KDevelop (aqui: QtHelp)

O KDevelop oferece integração perfeita com diversos provedores de documentação. Os sistemas suportados são:

  • Arquivos de documentação do QtHelp (QCH)
  • Páginas de manual (aquelas que você pode visualizar com man na linha de comando)
  • Páginas de ajuda do CMake

Você pode simplesmente abrir uma página de documentação passando o mouse sobre um símbolo e selecionando "Mostrar documentação para..."

Outros pedaços e peças

  • Inicialização rápida e geralmente ocupa pouco espaço de memória.
  • Geralmente projetado para se comportar como um editor de texto simples em muitos casos, por exemplo, você pode simplesmente executar kdevelop file.cpp no ​​seu terminal e ele abrirá esse arquivo na sessão atual.
  • Suporte completo a scripts, trechos de código poderosos ​​com campos de modelo (pressione Tab para alternar entre campos definidos pelo usuário, podendo ter campos com conteúdo programável, etc.); eles também podem ser configurados para aparecer na lista de completamento de código
  • Localização e substituição poderosas, também em projetos inteiros, opcionalmente com expressões regulares
  • Integração de testes unitários
  • Ferramenta de visualização de problemas filtrável, mostrando todos os problemas (erros de sintaxe e semântica, tarefas pendentes, etc.)
  • Suporte a depurador gráfico (C/C++ e Python, PHP por meio de um plugin extra)
  • Suporte a formatadores de código (vários predefinidos para C/C++ e Python, bem como scripts de formatadores personalizados)
  • Modelos de arquivo e projeto (modelos extras podem ser baixados ou instalados)
  • Pode visualizar quase qualquer tipo de arquivo como uma aba/documento dentro do IDE através do KParts (por exemplo, um PDF)
  • Ferramenta de visualização do terminal
  • Suporte a script externo
  • Modo de entrada compatível com o vim