Fonctionnalités
Langues prises en charge
Les langages suivants sont totalement pris en charge, ce qui signifie qu'ils bénéficient d'une coloration syntaxique sémantique, d'une navigation de code et d'un auto-complètement :
- C / C++ et ObjC (Soutenus par les bibliothèques Clang / LLVM libraries)
- Intégrant quelques fonctionnalités additionnelles pour l'environnement de développement pour Qt
- Y compris la prise en charge de langage pour CUDA et OpenCL
- Qt QML et JavaScript
- Python (Module externe optionnel)
- PHP (Module externe optionnel)
Pour pratiquement tous les langages non pris en charge, il y a toujours une coloration syntaxique standard et l'auto-complètement de code textuel.
Systèmes de contrôle de version pris en charge
Les systèmes suivants de contrôle de version proposent une intégration avec une interface graphique utilisateur :
- Git
- Bazaar
- Subversion
- CVS
- Mercurial (hg) (Module externe optionnel)
- Perforce (Depuis 5.1)
Une fonction particulièrement utile est la bordure « Annotation », montrant qui a changé une ligne pour la dernière fois et quand. L'affichage des différences qui a introduit ce changement n'est qu'à un clic !
Systèmes compilés pris en charge
Les systèmes de compilation suivants sont pris en charge, ce qui signifie que KDevelop peut automatiquement obtenir, exécuter et compiler des cibles, y compris avec les dossiers d'inclusions pour eux :
- CMake
- QMake
- Fichiers « Make » personnalisés (Partiellement)
- Système compilé générique (Aucune détection automatique d'inclusions d'emplacements)
KDevelop sait comment invoquer les outils d'automatisation de compilation, tels que « make » et « ninja ». KDevelop possède des pages de configuration dédiées pour eux.
Fonctionnalités de prise en charge des langages
Pour tous les langages pris en charge, KDevelop prend en charge les fonctionnalités suivantes :
Navigation rapide dans le code
Le composant graphique de navigation s'affiche lors du survol de la souris sur les éléments ou lorsque vous appuyez sur la touche « ALT » avec le curseur de texte au dessus d'eux. Il permet la navigation, c'est-à-dire que vous pouvez, par exemple, naviguer vers la classe parent de la classe que vous consultez, pour consulter le composant graphique de navigation de cette classe parent.
- Trouver l'utilisation de symboles (variables, types, etc.)
- Basculer vers une déclaration / définition
- Ouvrir rapidement, vous permet de rechercher n'importe quelle fonction, classe ou fichier sur l'ensemble du projet.
- Navigateur de projet, de classes et de fonctions
Le mode du navigateur de code (Veuillez appuyer sur la touche « CTRL » lorsque vous cliquez sur un symbole) facilite la navigation à travers une base de code inconnu.
Compréhension remarquable du code
KDevelop a toujours été fier de sa prise en charge de pointe pour les langages C / C++. Avec l'adoption de la version 5.0 de Clang, la fonctionnalité d'analyse de code correct à 100 % est disponible. Cela signifie que l'environnement intégré de développement (IDE) peut vérifier avec précision les défauts de codage, même sans devoir lancer le compilateur ! Ceci n'est pas limité qu'au langage C / C++. Tous les langages pris en charge partagent les fonctionnalités ci-dessous.
- ** Coloration sémantique ** : la coloration prenant en compte la sémantique du langage. Par exemple, elle met en valeur les noms de classe différemment des noms de variables, même si la reconnaissance est impossible uniquement à partir de la syntaxe du code.
- ** Coloration en arc en ciel ** : met en évidence chaque occurrence de la même variable dans une couleur spécifique, changeant selon la variable. Essayez-la, vous allez l'adorer une fois que vous vous y serez habitué. Facultatif.
- ** Complètement du code sémantique sensible au contexte ** : KDevelop a une heuristique sophistiquée conçue pour vous présenter les suggestions les plus probables à la position actuelle du curseur. Pour Python, PHP et JS, ces complètements sont générées à partir de la représentation du code mis en cache et sont donc disponibles instantanément - sans délai notable.
** Cache disque persistant ** pour la base de données de code. Selon le niveau de complexité de votre projet, l'analyse pourrait prendre un certain temps au début. Mais après cette première fois, tout est mis en cache sur le disque et chargé en quelques secondes sur chaque démarrage ultérieur de l'environnement intégré de développement (IDE).
Personnalisable
Facile pour s'adapter à votre propre style !
- Possibilité de réorganiser, activer ou désactiver n'importe quel bouton de la barre de menus
- Vues arbitrairement scindées
- Disposition arbitraire des affichages d'outils dans la fenêtre principale
- Thème de couleurs librement configurable, de façon séparée entre applications et éditeur.
- Permettre l'allocation de raccourcis à la plupart des actions de l'environnement de développement intégré (IDE)
Intégration de la documentation
KDevelop fournit une intégration transparente avec une variété de fournisseurs de documentation. Les systèmes pris en charge sont :
- Fichiers de documentation pour QtHelp (QCH)
- Pages de manuel (Celles que vous pouvez simplement afficher avec la ligne de commande « man »)
- Pages d'aide de CMake
Vous pouvez simplement ouvrir une page de documentation en survolant un symbole, puis en sélectionnant « Afficher la documentation pour... »
Autres morceaux
- Démarrage rapide et généralement avec une faible empreinte mémoire.
- Généralement, il est conçu pour se comporter comme un simple éditeur de texte dans la plupart des cas. Par exemple, vous pouvez simplement exécuter un fichier « KDevelop File.cpp » à partir de votre terminal et il ouvrira ce fichier dans la session en cours.
- Extraits de code entièrement scriptables avec des champs de modèle (Veuillez appuyer sur la touche « Tab » pour naviguer entre les champs définis par l'utilisateur. Il peut avoir des champs avec contenu scriptable, etc.). Ceux-ci peuvent également être configurés pour s'afficher dans la liste de complètement du code.
- Recherche et remplacement très performants, également sur la totalité de projets, optionnellement avec des expressions rationnelles
- Intégration de tests unitaires
- Outil d'affichage avec filtre des problèmes, affichant tous les problèmes (Erreurs de syntaxe et sémantiques, tâches à faire, etc.)
- Prise en charge d'un débogage graphique (C / C++, Python, PHP grâce à un module externe additionnel)
- Prise en charge de formateurs de code (Plusieurs sont pré définis pour C / C ++ et Python, ainsi que des scripts personnalisés de formatage)
- Modèles de fichiers et de projets (Des modèles additionnels peuvent être téléchargés ou installés)
- Peut afficher presque n'importe quel type de fichier comme un onglet / document à l'intérieur de l'environnement de développement grâce à KParts (Par exemple un fichier au format « PDF »)
- Affichage des outils de console
- Prise en charge de scripts externes
- Mode d'entrée compatible avec Vim