跳到內容

功能

支援語言

KDevelop 的 C/C++ 語言支援

以下語言有完整支援,包含支援語義的語法突顯、程式碼瀏覽與補完:

  • C/C++ 與 ObjC(仰賴 Clang/LLVM 函式庫)
  • Qt QML 與 JavaScript
  • Python(選用外掛程式)
  • PHP(選用外掛程式)

對於幾乎所有不支援的語言,基本的語法突顯與基於純文字的程式碼補完依舊有提供。

支援的版本控制系統

The "Show annotation" feature with the Git VCS.

以下版控系統在圖形介面中有整合:

  • Git
  • Bazaar
  • Subversion
  • CVS
  • Mercurial / hg(選用外掛程式)
  • Perforce(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!

支援的編譯系統

KDevelop 的 CMake 設定對話框

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
  • 自己的 Makefile(部分支援)
  • 通用編譯系統(無法自動偵測引入路徑)

KDevelop knows how to invoke build automation tools such as make and ninja and has dedicated configuration pages for them.

語言支援功能

對於所有支援的語言,KDevelop 支援以下功能:

快速程式碼導覽

導覽元件

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.

  • 尋找符號的使用處(變數、型態等等)
  • 跳到宣告處/定義處
  • 快速開啟,允許在專案內搜尋任何函數、型別或檔案。
  • Project, class and function browser

The code browser mode (press Ctrl when clicking on an symbol) makes it super easy to browse through an unknown code base.

Remarkable code comprehension

KDevelop 的程式碼補完

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.

可自訂

KDevelop under a dark theme

Easy to adapt to your own style!

  • Free to reorder, enable or disable any buttons in the menu bar
  • Arbitrary split views
  • Arbitrary layout of tool views inside the main window
  • Freely configurable color scheme, separately for application and editor.
  • Can assign shortcuts to almost every action in the IDE

Documentation integration

KDevelop's documentation integration (here: QtHelp)

KDevelop provides seamless integration with a variety of documentation providers. The supported systems are:

  • QtHelp documentation files (QCH)
  • Man pages (the ones you can just view with man on command line)
  • CMake 說明頁面

You can simply open a documentation page by hovering a symbol and then selecting "Show documentation for ..."

其他小東西

  • Fast startup and typically small memory footprint.
  • 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
  • Powerful find and replace, also across whole projects, optionally with regular expressions
  • Unit test integration
  • Filterable Problems toolview, showing all problems (syntax and semantic errors, TODOs, etc)
  • Graphical debugger support (C/C++ and Python, PHP through an extra plugin)
  • Code formatter support (several predefined ones for C/C++ and Python, as well as custom formatter scripts)
  • File and project templates (extra templates can be downloaded or installed)
  • Can view almost any file type as a tab / document inside the IDE through KParts (e.g. a PDF)
  • 主控台工具檢視
  • 外部文稿支援
  • 提供與 Vim 相容的輸入模式