功能
支持的语言
完全支持以下语言,这意味着它们具有语义语法高亮显示、代码导航和补全功能:
- C/C++ 和 ObjC(由 Clang/LLVM 库支持)
- 为 Qt Framework 添加了一些额外功能
- 包含对 CUDA 和 OpenCL 的语言支持
- Qt QML 和 JavaScript
- Python (可选插件)
- PHP (可选插件)
对于几乎所有不支持的语言,仍然有基本语法高亮和文本代码补全。
支持的版本控制系统
以下版本控制系统具有图形用户界面集成:
- Git
- Bazaar
- Subversion
- CVS
- Mercurial (hg) (可选插件)
- Perforce (自 5.1)
一个特别有用的功能是_Annotate_边框,它可以显示最后更改一行的人和时间。只需点击一下,就能显示引入这一更改的差异!
支持的构建系统
支持以下构建系统,这意味着 KDevelop 可以自动获取运行和构建目标并包含它们的路径:
- CMake
- QMake
- 自定义 Makefile (部分)
- 通用构建系统 (没有自动包含路径检测)
KDevelop 知道如何调用 make 和 ninja 等构建自动化工具,并为它们提供了专门的配置页面。
语言支持功能
对于所有支持的语言,KDevelop 支持以下功能:
快速代码导航
当鼠标移到项目上,或按 Alt 键并将文字光标移到项目上时,导航部件就会弹出。该窗口小部件允许导航,例如,您可以导航到正在查看的类的父类,查看该父类的导航窗口小部件。
- 查找符号(变量、类型等)的用途
- 跳转到声明/定义
- 快速打开,允许在整个项目范围内搜索任何函数、类或文件。
- 项目、类别和函数浏览器
代码浏览器模式(点击符号时按住 Ctrl 键)使浏览未知代码库变得超级简单。
出色的代码理解能力
KDevelop 一直以其最先进的 C/C++ 语言支持而自豪。在 5.0 中采用 Clang 后,我们获得了 100% 正确的代码解析功能,这意味着即使无需调用编译器,集成开发环境也能准确检查编码故障!不仅限于 C/C++,所有支持的语言都具有以下功能。
- 语义高亮:高亮考虑到语言的语义。 例如,可以突出显示不同于变量名称的类名,即使仅从代码语法无法识别。
- 彩虹高亮: 以特定颜色高亮显示同一变量的每次出现,并根据变量的不同而变化。试试吧,习惯后你会爱上它的。可选项。
- 对上下文敏感的语义代码自动补全: KDevelop 具有复杂的启发式设计,可在当前光标位置为您提供最可能的建议。对于 Python、PHP 和 JS,这些补全都是从 KDevelop 的缓存代码表示方法中生成的,因此可以立即使用,没有明显的延迟。
代码数据库的持久磁盘缓存。根据项目的大小和复杂程度,一开始可能需要一段时间进行分析;但第一次分析之后,所有内容都会缓存在磁盘上,以后每次启动集成开发环境时只需几秒钟就能加载完毕。
可定制
易于根据自己的风格进行调整!
- 可自由重新排列、启用或禁用菜单栏中的任何按钮
- 任意分割视图
- 在主窗口内任意布局工具视图
- 可自由配置配色方案,分别用于应用程序和编辑器。
- 可为集成开发环境中的几乎所有操作指定快捷方式
文档集成
KDevelop 提供与各种文档提供商的无缝集成。支持的系统包括
- QtHelp 文档文件 (QCH)
- Man 手册页面(可在命令行中使用
man
查看的页面) - CMake 帮助页面
您只需悬停一个符号,然后选择 “显示......的文档”,即可打开文档页面。
其它零散功能
- 启动速度快,占用内存小。
- 在许多情况下,它通常被设计成类似于一个简单的文本编辑器,例如,你只需在终端运行 kdevelop file.cpp,它就会在当前会话中打开该文件。
- 完全可编写脚本、功能强大的代码片段,带有模板字段(按 Tab 键可在用户定义的字段之间循环,字段内容可编写脚本等);这些字段也可配置为显示在代码完成列表中
- 功能强大的查找和替换功能,也可在整个项目中使用,还可选择使用正则表达式
- 单元测试整合
- 可过滤问题工具视图,显示所有问题(语法和语义错误、TODO 等)
- 图形调试器支持(C/C++ 和 Python,PHP 通过额外插件支持)
- 代码格式化支持(针对 C/C++ 和 Python 的多个预定义格式化,以及自定义格式化脚本)
- 文件和项目模板(可下载或安装额外模板)
- 可通过 KParts 在集成开发环境内以标签/文档形式查看几乎所有文件类型(如 PDF)
- 控制台工具视图
- 外部脚本支持
- Vim 兼容输入模式