This article surveys tools used to help create and manage software. Topics include terminals and CLI tools, advanced editors, and Integrated Development Environments (IDEs).
Please read the disclaimer before proceeding. We review and update guided solutions regularly. If you have suggestions or requests, please write support@kfocus.org.
Command Line Interface (CLI) tools have been refined over 60 years, and can often be the fastest way to get things done.
To use the command line, you first need a terminal app. The default and recommended terminal app in KDE Plasma is Konsole. If you cannot access the desktop, you use the first “virtual terminal” by pressing the keys
[CTRL][ALT][F3]
. Use [CTRL][ALT][F2]
to return to the GUI, and use [CTRL][ALT][F4 through F6]
to switch to other virtual terminals.
Vim is a popular and powerful CLI editor. If you want to set it as the system default, enter sudo update-alternatives --config editor
in Konsole, then select vim-nox
as the default. Enter vim
to open a file, or enter gvim
for the GUI. Focus systems come with an extensive .vimrc
which you can customize or replace as you desire. Configured features include fenced syntax in Markdown and shortcuts to round numbers to n decimal places (;r
), format JSON ([CTRL][J]
), compress JSON ([CTRL][K]
), remove trailing spaces (;k
), and lots more. Read the .vimrc
content to see all the capabilities. Because Vim runs on the most humble devices over slow connections, one can use it just about anywhere.
Some folks prefer emacs as their CLI editor. Install the CLI-only version with sudo apt install emacs-nox
and then enter emacs
in Konsole to start it. If you want the emacs GUI, install emacs-gtk
and then enter emacs
, or enter emacs -nw
to skip the GUI.
Focus systems come with a few additional CLI tools. The gg
command scans and lists files that contain a string below the working directory. This scan is case-insensitive, and it will not cross mount points. The qwe
command provides the ability to bookmark directories. Enter qwe -h
for more guidance. These capabilities are provided by /etc/bash_completion.d/kfocus
and /etc/bash_completion.d/qwe
, respectively.
Advanced Editors don't have complete IDE feature set, but may be easier to use or access. In this section, we consider Kate and QT Designer.
Kate is installed by default with KDE Plasma. It has many features you'd find in an IDE, yet it starts fast and is easy to use, which makes it a good choice for quick edits. IDE features include such as context highlighting for dozens of computer languages, and git integration. For more information, visit https://kate-editor.org.
Use Qt Designer to design Qt Widgets interfaces rapidly. You can install it using sudo apt install qttools5-dev-tools
.
You can install nearly all JetBrains IDEs and tools using the JetBrains toolbox. Most are very mature and popular. Notable examples include IntelliJ, WebStorm, PyCharm, and DataGrip. Nearly all are available as free community editions, but also have a paid-and-supported commercial option. For more information, visit the JetBrains website.
JetBrains IDEs benefit from a common platform that supports thousands of community-contributed, first-party, and commercial extensions. This enables IntelliJ and other IDEs it to work with support for many languages in a single project. We appreciate the auto-discovered Git integration, multi-language break-point debugging, and very complete Vim editing.
Another popular development environment is the free Microsoft Visual Studio Code. Although originally conceived as a "text editor," thousands of community-contributed extensions have enabled it to become an all-in-one IDE, supporting multiple languages in a single project.
If you wish to use the VSCode Settings Sync feature, you will require libsecret
capability. This can be provided by KeePassXC which is installed by default on all Kubuntu Focus systems. Please see the guide found here.
For more information, please visit the Visual Studio Code website.
Qt Creator is a cross-platform IDE for Qt applications with C++ as the core language. It features a full code editor, UI designer, and debugger. Choose this if you want to develop QML apps. Qt software can be deployed across desktop, mobile, and embedded platforms. You can install the community edition using sudo apt install qtcreator
. Learn more at the Qt website.
KDevelop is an Integrated Development Environment, perfect for C and C++ projects and other supported languages. It was one of the first KDE projects, and is used by many KDE developers as their primary IDE. It has code completion and project support, along with integrated docs to keep your gaze close to your code.
Q: When using IntelliJ, the keyboard stops working sometimes. How do I fix this?
A: This typically happens when you have Zoom installed, which in-turn install IBus, a keyboard input handler. This does not work well with IntelliJ. Per this JetBrains ticket, you can restart IBus, and then do the following:
-Drecreate.x11.input.method=true
to a new line.This is a partial revision history. See the git
repository for all entries.
2025-04-19 274c0ff1
Update grammar and content per audit2025-04-15 72bd6b83
Reorder, audit all language and presentation2025-03-04 7e0f76de
Add history to revisions2024-12-06 35123b93
Normalize Hints Widget name and keyboard shortcut format2024-09-10 73fcff02
Finalize Lightbox and doc update2024-08-19 57a2389d
Add white theme2024-08-01 45251c42
Add lightbox views2024-07-28 ee7b4601
Update metadata content, collapsable sections, lightbox2024-07-26 7814a97d
Sync primary images between guided solutions slideshow and articles2024-07-16 e9155e41
Merge master link fixes2024-07-02 c83184e4
Switch to kfocus-mime schema2024-06-08 4085d21f
Deploy noble updates to support, images2024-07-07 39d71fcd
Add Git hash to revisions2024-06-06 32474515
Update for Noble2024-02-28 ebf58c3a
Improve guidance2024-02-28 751b5e96
Add IBus and IntelliJ keyboard hint2023-11-18 e770b1c6
Add search and help bar2023-06-17 a7af817b
Add paragraphs for KDevelop, QT Creator2023-02-09 b973bdd8
Add section about bash and QWE2022-10-03 11e14117
Add fenced content images and details2022-07-13 ecfebbcc
Image updates2022-03-21 06240af7
Add VSCode setting sync advice2021-11-15 be832fe9
First VersionWe try hard to provide a useful solution validated by professionals. However, we cannot anticipate every situation, and therefore cannot guarantee this procedure will work for your needs. Always backup your data and test the solution to determine the correct procedure for you.
THIS SOLUTION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOLUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
HAVE QUESTIONS?Call 844-536-2871 or write
TellMeMore@kfocus.org | GET FOCUS MERCH