Get Involved/development/IDE configuration/Kate

From KDE Community Wiki
Revision as of 18:42, 11 September 2022 by Nmariusp (talk | contribs) (Build, debugger)

Kate is the feature-packed text editor from KDE.

See the web page "Building Kate from Sources on Linux" https://kate-editor.org/build-it/

The web page talks about how to build kate using kdesrc-build and how to configure kate.

Configure the kate text editor in order to program/develop C++ source code projects:

  • Configure kdesrc-build to generate .kateproject project files.
  • Configure kdesrc-build to generate the file compile_commands.json used by the clangd C++ LSP server.
  • Enable the kate plugins: Project Plugin, LSP Client, Build Plugin, GDB.

Some of the features available in kate:

  • Build. kate main menu > Build > Select Target... > Target Set > Working Directory should be "~/kde/build/utilities/kcalc" > OK button. "Build Output" tool view > "Output" is shown. Change to tab "Target Settings" from tool view "Build Output" > double click on cell "Dir:" > select "~/kde/build/utilities/kcalc", press Enter. kate main menu > Build > Build Default Target.
  • Debugger. Using the "GDB" plugin. kate main menu > Debug > Targets > Target 1. kate main menu > View > Tool Views > Show Debug View > Settings tab > Executable > select "~/kde/build/utilities/kcalc/bin/kcalc". Click on source code line, from kate main menu > Debug > Toggle Breakpoint. kate main menu > Debug > Start Debugging. kate main menu > Debug > Continue/ Step Over/ Step In/ Step Out.
  • LSP Client Symbol Outline
  • Right click in text editor on a C++ identifier > LSP Client > Go to Declaration/Find References/ Switch Source Header F12/ Symbol Info/ Search and Go to Symbol Ctrl+Alt+P/ Format/ Rename/ Switch to diagnostics tab/ Quickfix This menu is also available from kate main menu > LSP Client.
  • kate main menu > Tools > External Tools > Git > git blame/ gitk
  • kate main menu > Tools > External Tools > Tools > Clang Format Full File/ Search KDE/Qt API/ JSON/XML Format Full File.