|
|
Line 13: |
Line 13: |
|
| |
|
| 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.}}
| |