Menu Share

GDScript finally has an IDE!

by | Published on
category Python / GDScript

In this article, I will introduce the hottest new feature of Rider 2024.1 in my personal opinion regarding Godot game development.

Table of Contents

Introduction

I try to love the Godot engine. But I am a fan of the C/C++ languages and I can also work with the C# environment. But when talking about Godot 4 the support for these languages is always in second place. The newest and most stable features are always in GDScript first. GDExtension is not even considered production-ready yet!

The biggest turn-off with this is that GDScript has a truly terrible embedded editor into the engine. It can’t do the most simple refactorings. I know that programmers back in the day had to write without intellisense but today it is a must-have to be able to refactor code easily.

So to work with GDScript one has to work with an external editor. And so far the only editors that are officially supported by the game engine team are VSCode and Emacs.

What about VSCode?

I don’t really like VSCode. The color theme the features. It is and has always been a mix between a text editor and an IDE but in my opinion, it is somehow stuck between both. I would always prefer to have a full-on IDE that is capable of understanding your code and intention even if takes a few seconds more to load. I also think highly of JetBrains even when they are the paid premium option out there and you can go with free alternatives. Just the editing experience is on a whole new level.

Introducing Rider 2024.1

I was reading the Rider release notes for the newest 2024 release and I stumbled upon the section for Godot. I thought it was just some improvements on the C# scripting language but I was surprised to see that the new version included support for “.tscn” and “.gd”. So naturally I hopped in Rider and opened one Godot project folder. The surprise was real… the project opened and the status bar almost immediately said analyzing project files. At that moment I realized I finally had an acceptable IDE for my GDScript-only projects.

Through the newest Godot highlighting and the plugin by IceExplosive, the IDE supports the language server fully and gives adequate suggestions and also refactorings based on good practices. You have syntax highlighting. You can also run the editor or play the game from within the IDE through the play buttons. I was pleased to see this addition in Rider and I am very positive about the future of Godot with this new IDE available.

How to make Rider your default editor

It wouldn’t be a full article if I didn’t also tell you how to set Rider to be the default application to open script files. To do so open up the Godot application. On the top menu, you will see the “Editor” section and inside you can click on “Editor Settings”. There you can navigate to the “Text Editor” -> “External”. Check the “Use External Editor” and add the path to Rider. Also in the “Exec Flags”, you need to add the {project} macro. Here it is also visually:

Conclusion

Well, I hope you’re as excited as I am to hear this news. I will now be able to focus on creating great games and not fight with the script editor or VSCode’s thousand extensions. With last year’s Unity pricing model changes and the trust that they lost the indie game dev community is left with engines like Godot or Unreal. The Unreal game engine is quite complicated though and is more technical. It also focuses on a more realistic 3D graphics pipeline. So this addition to Rider really gives a boost to Godot’s readiness to be a full-on production-ready engine. This also ties well with the recent news that some bigger indie hits are being made using the engine (talking about Slay the Spire 2).

If you want to setup Godot with GDExtension you can also take a look at my other article here or this one where I explore how to work with C++ instead.

Leave a comment

Your email address will not be published. Required fields are marked *

Comments:

#Axel
Hi ! The article mentions "the plugin by IceExplosive", but doesn't point to it otherwise. Providing a link would be great : ) Meanwhile, I think I've found the source at https://gitlab.com/IceExplosive/gdscript