Developer Blogs

This page aggregates the blog contents of people working on the KDevelop IDE.

Friedrich W. H. Kossebau | Mon, 2018/02/12 - 18:44

KMarkdownWebView 0.5.0 has been released. The KMarkdownWebView software is for the rendered display of Markdown documents, using web technologies. It implements a C++/Qt-based wrapper around a local webpage with a JavaScript library (“marked”) which creates HTML from the plain text in Markdown format passed in. The software contains a KParts plugin for rendered display of … Continue reading KMarkdownWebView 0.5.0

Friedrich W. H. Kossebau | Thu, 2017/12/28 - 23:22

KMarkdownWebView 0.4.0 has been released. The KMarkdownWebView software is for the rendered display of Markdown documents, using web technologies (native wrapper around a webpage with a JavaScript library which creates HTML from the plain text handed in). The software contains a KParts plugin for rendered display of Markdown files, which enables KParts-using applications (like the … Continue reading KMarkdownWebView 0.4.0

Aleix Pol | Mon, 2017/12/18 - 15:27

Lately I found myself working on an ARM64 (aka aarch64) based system which in turn I don’t own. So I needed to get a system to build and test things on. How? First of all, you need to have qemu static builds installed. For example, for ArchLinux you need to get them from AUR: $ […]

Friedrich W. H. Kossebau | Tue, 2017/11/07 - 09:58

KTextEditorPreviewPlugin 0.2.1 has been released. The KTextEditorPreviewPlugin software provides the KTextEditor Document Preview Plugin, a plugin for the editor Kate, the IDE KDevelop, or other software using the KTextEditor framework. The plugin enables a live preview of the currently edited text document in the final format, in the sidebar (Kate) or as tool view (KDevelop). … Continue reading KTextEditorPreviewPlugin 0.2.1 (last stand-alone)

Friedrich W. H. Kossebau | Tue, 2017/10/31 - 10:56

KMarkdownWebView 0.3.0 has been released. The KMarkdownWebView software is for the rendered display of Markdown documents, using web technologies (native wrapper around a webpage with a JavaScript library which creates HTML from the plain text handed in). The software contains a KParts plugin for rendered display of Markdown files, which enables KParts-using applications (like the … Continue reading KMarkdownWebView 0.3.0

Friedrich W. H. Kossebau | Mon, 2017/10/09 - 15:09

KTextEditorPreviewPlugin 0.2.0 has been released. The KTextEditorPreviewPlugin software provides the KTextEditor Document Preview Plugin, a plugin for the editor Kate, the IDE KDevelop, or other software using the KTextEditor framework. The plugin enables a live preview of the currently edited text document in the final format, in the sidebar (Kate) or as tool view (KDevelop). … Continue reading KTextEditorPreviewPlugin 0.2.0

Friedrich W. H. Kossebau | Sat, 2017/09/30 - 21:45

KMarkdownWebView 0.2.0 has been released. The KMarkdownWebView software is for the rendered display of Markdown documents, using web technologies (native wrapper around a webpage with a JavaScript library which creates HTML from the plain text handed in). The software contains a KParts plugin for rendered display of Markdown files, which enables KParts-using applications (like the … Continue reading KMarkdownWebView 0.2.0

Friedrich W. H. Kossebau | Mon, 2017/09/25 - 14:26

KTextEditorPreviewPlugin 0.1.0 has been released. The KTextEditorPreviewPlugin software provides the KTextEditor Document Preview Plugin, a plugin for the editor Kate, the IDE KDevelop, or other software using the KTextEditor framework. The plugin enables a live preview of the currently edited text document in the final format. For the display it uses the KParts plugin which … Continue reading KTextEditorPreviewPlugin 0.1.0

Friedrich W. H. Kossebau | Thu, 2017/09/14 - 17:08

KMarkdownWebView 0.1.0 has been released. The KMarkdownWebView software provides a KParts plugin for rendered display of Markdown files, using web technologies (webpage with JavaScript library which creates HTML from the plaintext handed in). This enables KParts-using applications (like the archiving tool Ark or the file manager Krusader) to show Markdown files in the target format. … Continue reading KMarkdownWebView 0.1.0

Friedrich W. H. Kossebau | Fri, 2017/09/08 - 02:59

The “Live Preview” plugin for the editors/IDEs Kate & KDevelop (see introduction) makes use of KParts plugins to support different file formats. Thus it can also pick up the range of existing KParts implementations out there right from the start. A perfect user experience with the “Live Preview” plugin means: automatic updates of the preview … Continue reading In-pane preview of Qt UI files with KUIViewer coming up

Emma Gospodinova (GSoC student) | Tue, 2017/08/29 - 00:38

(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://assets.gfycat.com/gfycat.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'gfycat-js'));
I just watched the season 7 finale of Game of Thrones earlier today, I couldn't help it, sorry.

So, as summer is coming to an end, Google Summer of Code is also wrapping up, and the KDevelop Rust plugin is looking good at this point. It now supports semantic highlighting, go-to-definition, renaming declarations, some code completion, debugging, highlighting code errors, and code formatting. I'll go into a bit more detail for the last three since they were the most recent additions. 
I also focused on a lot of minor improvements this past month to make the plugin easier to build and use, to make it more reliable, etc., so at this point kdev-rust is a solid basis for anyone looking for a Rust IDE.DebuggingAs I've mentioned before, KDevelop supports both the GDB and LLDB backends, so debugging was a matter of hooking up the backend for Rust executables. Here it is in action:

Video should appear here; if it doesn't click hereCode formattingDon't you just hate it when your code is just all over the place like in this totally not contrived example below? Well, worry no more, you can now reformat it straight from the editor!
Video should appear here; if it doesn't click hereDiagnostic messagesI mentioned in my last post that I'm looking at exposing error messages from libsyntax to KDevelop. This now works for parsing errors, but now that the underlying infrastructure is there, type errors and lints are soon to follow:
Video should appear here; if it doesn't click here
If the videos above aren't loading, they are available here, here and here.
What now?If you've been following my blog you should know by now I'm a huge fan of Rust. The KDevelop Rust plugin is usable at this point, but as with any project, there is a lot that can be added. I very much intend to continue working on the Rust plugin in my free time even after GSoC has finished, so please feel free to try it out and send me feedback.
The kdev-rust repository is available here (mirror). A nightly Rust compiler is required to build the supporting library.

Friedrich W. H. Kossebau | Mon, 2017/08/21 - 20:11

You are using Kate or KDevelop and often editing directly the sources of Markdown files, Qt UI files, SVG files, Dot graph files and whatever else formats which are based on plain text files? And you are having to use a workflow to check the current state which is saving the file and (re)loading it … Continue reading Look what you have done^W^Wdo!

Mihail Ivchenko (GSoC student) | Sun, 2017/08/20 - 21:15
Mihail Ivchenko (GSoC student) | Sun, 2017/08/06 - 20:41
Sven Brauch | Sat, 2017/07/29 - 19:39

Akademy, KDE’s annual developer conference, is over — and as always, it was a great experience! Thanks a lot to the local organization team, and of course to all the nice people attending and discussing things. Akademy is typically a mix of hacking, visiting workshops and talks, and socializing with other KDE people. In the KDevelop workshop for example, we discussed about the future of the project — which issues […]

Mihail Ivchenko (GSoC student) | Tue, 2017/07/25 - 18:56
Emma Gospodinova (GSoC student) | Tue, 2017/07/18 - 20:00

(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://assets.gfycat.com/gfycat.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'gfycat-js')); I'M SO SORRY FOR THESE AWFUL PUNS I CAN'T HELP IT.
TIL the Rust compiler panics. A lot. Okay, it wasn't today, it was last week. Still. At this point I feel bad because I feel like I'm constantly coming out with something bad to say about Rust. I swear, I love the language. So I'm just going to point it out and move on: libsyntax panics on a lot of lexing and parsing errors. There. Moving on...
I have to admit, I spent too much time thinking of something interesting and engaging to write in this blog post but unfortunately it's just going to be a small progress report. You know the famous saying, a gif is worth a thousand words...HighlightingIn my last post I showed highlighting done for declarations, but uses were not highlighted. Lo and behold...
Video should appear here; if it doesn't click here
This also means that go-to-declaration works as well. You might notice the uses aren't highlighted the same color as the declarations. That's a mistake on my part and I'm working to fix that.RenamingAs I've said before, KDevelop does a lot of things out-of-the-box if it has the Declaration-Use chain for a project. Renaming declarations is one of them.
Video should appear here; if it doesn't click here
Very basic code completionIn the spirit of short recordings, here's another one.
Video should appear here; if it doesn't click here
(yes, the cursor is slightly off in all of these; blame the recording software)
(((also if the videos aren't loading, you can view them here, here and here)))
Up nextSome more interesting things for code completion are coming up. Also, the Rust compiler has amazing error messages and I'm currently looking into getting the diagnostics out of libsyntax and show them in KDevelop. I'm looking into parsing imported modules as well, starting with libstd. All exciting stuff.
I'll also be speaking at KDE's Akademy this weekend, so if you're there, please feel free to drop by and say hi. I won't bite. :)

Mihail Ivchenko (GSoC student) | Sun, 2017/07/16 - 19:11
Mihail Ivchenko (GSoC student) | Sun, 2017/07/02 - 21:14
Subscribe to Developer Blogs