Get Involved/development/IDE configuration: Difference between revisions

From KDE Community Wiki
(Add page for vscode)
(Put emphasis on Qt Creator. Reason: is better suited for new contributors, does not crash, many wiki pages tell the user how to do a certain thing in Qt Creator)
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Setting up an IDE for KDE Development
Setting up an IDE for KDE development.
[[File:Mascot_konqi-app-dev-katie.png|right|x200px|]]
[[File:Mascot_konqi-app-dev-katie.png|right|x200px|]]


There are many available choices for code editors and Integrated Development Environments (IDEs).
There are many available choices for code editors and Integrated Development Environments (IDEs).


Some popular choices are (in no particular order):
Some popular choices:


* Kate - KDE's advanced text editor
* [[/Qt_Creator|Qt Creator]] - A good choice when starting to contribute to KDE. It has: support for kdesrc-build, a good debugger, source code navigation, Qt widgets UI designer, QML debugger, Qt resources editor, Qt project templates, good CMake support, C++ static analyzers etc. From the Qt project.
* [[Get_Involved/development/IDE_configuration/KDevelop|KDevelop]] - KDE's own IDE
* [[/Kate|Kate]] - KDE's advanced text editor.
* [[Get_Involved/development/IDE_configuration/Qt_Creator|Qt Creator]] - By the Qt Project, strong integration with UI design and creation
* [[/KDevelop|KDevelop]] - KDE's own IDE.
* [[Get_Involved/development/IDE_configuration/Visual_Studio_Code|Visual Studio Code]] - Popular, customizable, support for many programming languages
* [[/Visual_Studio_Code|Visual Studio Code]] - Popular, customizable, has support for many programming languages.


The choice is often a personal preference, here we list some instructions and tips on getting editors and IDEs working well with KDE projects.
The choice is often a personal preference, here we list some instructions and tips on getting editors and IDEs working well with KDE projects.
==Visual Studio Code (VSCode)==
VSCode is a very popular cross-platform, general-purpose, open source IDE. Thanks to its powerful extensions systems it supports many languages as well as deep customization options for themes, fonts, keyboard controls, and more.
===Installing===
VSCode is available as a deb, rpm, portable, and in the Arch User Repository.
https://code.visualstudio.com/Download
===Extensions===
Once VSCode is installed we need some extensions to enable support for the languages to work on KDE projects.
# [https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack C/C++ Extension Pack] - Enables support for C++ and CMake.
# [https://marketplace.visualstudio.com/items?itemName=tonka3000.qtvsctools Qt tools] - Enables some Qt support.
# [https://marketplace.visualstudio.com/items?itemName=bbenoist.QML QML] - Enables syntax highlighting for QML.
Optional:
[https://zealdocs.org/ Zeal] is an application that allows browsing documentation offline.
[https://marketplace.visualstudio.com/items?itemName=deerawan.vscode-dash Dash] is a VSCode extension that enables a hotkey (Ctrl + H) to instantly open the item under the cursor in Zeal.
These paired together make looking up documentation while working on code very quick and easy.
===Configuration===
VSCode holds settings related to specific projects in the top-level project directory, in a hidden <code>.vscode</code> folder.
We will use Dolphin as an example of where to add our project configuration files:
====settings.json====
This config specifies the correct build directory.
Create the file <code>settings.json</code> at <code>~/kde/src/dolphin/.vscode/settings.json</code>
Add the following to the new file:
{{Input|1=<nowiki>
{
    "cmake.buildDirectory": "${workspaceFolder}/../../build/dolphin"
}
</nowiki>}}
====c_cpp_properties.json====
This config enables the correct settings to support C++, CMake & IntelliSense.
Create the file <code>c_cpp_properties.json</code> at <code>~/kde/src/dolphin/.vscode/c_cpp_properties.json</code>
Add the following to the new file:
{{Input|1=<nowiki>
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}",
            "compileCommands": "${workspaceFolder}/compile_commands.json"
        }
    ],
    "version": 4
}
</nowiki>}}
====VSCode User Settings====
These settings apply once to every project
* In VSCode open the command palette with Ctrl + Shift + P
* Search for and open the user settings.json: "Preferences: Open Settings (JSON)"
* Add the following block:
{{Input|1=<nowiki>
"cmake.environment": {
    "PATH": "~/kde/usr/bin:${env:PATH}",
    "XDG_DATA_DIRS": "~/kde/usr/share:${env:XDG_DATA_DIRS}",
    "XDG_CONFIG_DIRS": "~/kde/usr/etc/xdg:${env:XDG_CONFIG_DIRS}",
    "QT_PLUGIN_PATH": "~/kde/usr/lib/plugins:${env:QT_PLUGIN_PATH}",
    "QML2_IMPORT_PATH": "~/kde/usr/lib/qml:${env:QML2_IMPORT_PATH}",
    "QT_QUICK_CONTROLS_STYLE_PATH": "~/kde/usr/lib/qml/QtQuick/Controls.2/:${env:QT_QUICK_CONTROLS_STYLE_PATH}",
  },
</nowiki>}}
====.kdesrc-buildrc====
Needed to enable LSP support:
In <code>~/.kdesrc-buildrc</code> ensure these two options are in the global section and set to true:
{{Input|1=<nowiki>
    compile-commands-linking true
    compile-commands-export true
</nowiki>}}
===Working on a project===
We work on a project in VSCode by opening it as a folder:
* <code>File</code> -> <code>Open Folder</code>
* Navigate to <code>~/kde/src/dolphin</code> and press <code>OK</code>
{{Info|Along the bottom of the window are buttons to configure, build, run, debug, etc.}}

Revision as of 00:54, 12 January 2023

Setting up an IDE for KDE development.

There are many available choices for code editors and Integrated Development Environments (IDEs).

Some popular choices:

  • Qt Creator - A good choice when starting to contribute to KDE. It has: support for kdesrc-build, a good debugger, source code navigation, Qt widgets UI designer, QML debugger, Qt resources editor, Qt project templates, good CMake support, C++ static analyzers etc. From the Qt project.
  • Kate - KDE's advanced text editor.
  • KDevelop - KDE's own IDE.
  • Visual Studio Code - Popular, customizable, has support for many programming languages.

The choice is often a personal preference, here we list some instructions and tips on getting editors and IDEs working well with KDE projects.