Fonctionnalités
Langues prises en charge
The following languages are fully supported, which means they have semantic syntax highlighting, code navigation and completion:
C/C++ and ObjC (backed by the Clang/LLVM libraries)
- Intégrant quelques fonctionnalités additionnelles pour l'environnement de développement pour Qt
- Including language support for CUDA and OpenCL
Qt QML et JavaScript
Python (Module externe optionnel)
PHP (Module externe optionnel)
For virtually all non-supported languages, there is still basic syntax highlighting and text-based code completion.
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)
An especially useful feature is the Annotate border, which shows who last changed a line and when. Showing the diff which introduced this change is just one click away!
Systèmes compilés pris en charge
The following build systems are supported, which means that KDevelop can automatically obtain run and build targets as well as include paths from them:
- CMake
- QMake
- Fichiers « Make » personnalisés (Partiellement)
- Système compilé générique (Aucune détection automatique d'inclusions d'emplacements)
KDevelop knows how to invoke build automation tools such as make and ninja and has dedicated configuration pages for them.
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
Navigation widget popup when moving the mouse over items, or when pressing Alt with the text cursor over them. The widget allows navigation, i.e. you can for example navigate to the parent class of the class you are viewing to look at the navigation widget of that parent class.
- 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
The code browser mode (press Ctrl when clicking on an symbol) makes it super easy to browse through an unknown code base.
Compréhension remarquable du code
KDevelop always prided itself for its state of the art C/C++ language support. With the Clang adoption in 5.0, we get 100% correct code parsing functionality, which means the IDE can accurately check for coding faults even without having you to invoke the compiler! Not limited to C/C++, all supported languages share below features.
- Semantic highlighting: Highlighting which takes the semantics of the language into account, and for example highlights class names differently from variable names, even if this cannot be recognized from the syntax of the code alone.
- Rainbow highlighting: Highlights each occurrence of the same variable in a specific color, changing on a per-variable basis. Try it out, you will love it once you get used to it. Optional.
- Context-sensitive, semantic code completion: KDevelop has sophisticated heuristics designed to present you with the most likely suggestions at the current cursor position. For Python, PHP and JS, those completions are generated from KDevelop's cached code representation and are thus available instantly -- without noticeable delay.
Persistent disk cache for the code database. Depending on the size of complexity of your project, analysis might take a while at first; but after that first time, everything is cached on disk and loaded in few seconds on each subsequent startup of the 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 provides seamless integration with a variety of documentation providers. The supported systems are:
- 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
You can simply open a documentation page by hovering a symbol and then selecting "Show documentation for ..."
Autres morceaux
- Démarrage rapide et généralement avec une faible empreinte mémoire.
- Generally designed to behave like a simple text editor in many cases, for example you can just run kdevelop file.cpp from your terminal and it will open that file in the current session.
- Fully scriptable, powerful code snippets with template fields (press Tab to cycle between user-defined fields, can have fields with scriptable contents, etc); those can also be configured to show up in the code completion list
- Recherche et remplacement très performants, également sur la totalité de projets, optionnellement avec des expressions régulières
- Intégration de tests unitaires
- Filterable Problems toolview, showing all problems (syntax and semantic errors, TODOs, etc)
- Prise en charge d'un débogage graphique (C / C++, Python, PHP grâce à un module externe additionnel)
- Code formatter support (several predefined ones for C/C++ and Python, as well as custom formatter scripts)
- Modèles de fichiers et de projets (Des modèles additionnels peuvent être téléchargés ou installés)
- Can view almost any file type as a tab / document inside the IDE through KParts (e.g. a PDF)
- Affichage des outils de console
- Prise en charge de scripts externes
- Mode d'entrée compatible avec Vim