Jump to content

Get Involved/development/IDE configuration: Difference between revisions

From KDE Community Wiki
Nmariusp (talk | contribs)
mNo edit summary
Ashark (talk | contribs)
Use link to moved page
Tag: Replaced
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Setting up an IDE for KDE Development
Moved to https://develop.kde.org/docs/getting-started/building/ide/
[[File:Mascot_konqi-app-dev-katie.png|right|x200px|]]
 
 
There are many available choices for code editors and Integrated Development Environments (IDEs).
 
Some popular choices are (in no particular order):
 
* Kate - KDE's advanced text editor
* KDevelop - KDE's own IDE
* Qt Creator - By the Qt Project, strong integration with UI design and creation
* VSCode - Popular, customizable, 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.
 
 
==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.}}

Latest revision as of 17:48, 18 April 2024