diff --git a/contributing/development/configuring_an_ide/img/rider_attach_to_process.webp b/contributing/development/configuring_an_ide/img/rider_attach_to_process.webp index e6b05f817be..a439ccc547e 100644 Binary files a/contributing/development/configuring_an_ide/img/rider_attach_to_process.webp and b/contributing/development/configuring_an_ide/img/rider_attach_to_process.webp differ diff --git a/contributing/development/configuring_an_ide/img/rider_attach_to_process_dialog.webp b/contributing/development/configuring_an_ide/img/rider_attach_to_process_dialog.webp new file mode 100644 index 00000000000..fabab13f1b1 Binary files /dev/null and b/contributing/development/configuring_an_ide/img/rider_attach_to_process_dialog.webp differ diff --git a/contributing/development/configuring_an_ide/img/rider_configurations.webp b/contributing/development/configuring_an_ide/img/rider_configurations.webp index 686c6a275ae..f8dfc1cff2b 100644 Binary files a/contributing/development/configuring_an_ide/img/rider_configurations.webp and b/contributing/development/configuring_an_ide/img/rider_configurations.webp differ diff --git a/contributing/development/configuring_an_ide/img/rider_configurations_changed.webp b/contributing/development/configuring_an_ide/img/rider_configurations_changed.webp index 0436dafc7b2..d0ca34f0c3f 100644 Binary files a/contributing/development/configuring_an_ide/img/rider_configurations_changed.webp and b/contributing/development/configuring_an_ide/img/rider_configurations_changed.webp differ diff --git a/contributing/development/configuring_an_ide/img/rider_run_debug.webp b/contributing/development/configuring_an_ide/img/rider_run_debug.webp index e6e87cea691..90431c802d4 100644 Binary files a/contributing/development/configuring_an_ide/img/rider_run_debug.webp and b/contributing/development/configuring_an_ide/img/rider_run_debug.webp differ diff --git a/contributing/development/configuring_an_ide/rider.rst b/contributing/development/configuring_an_ide/rider.rst index 37a8d6ed389..a5e758ef316 100644 --- a/contributing/development/configuring_an_ide/rider.rst +++ b/contributing/development/configuring_an_ide/rider.rst @@ -1,20 +1,31 @@ .. _doc_configuring_an_ide_rider: -Rider -===== +JetBrains Rider +=============== -`Rider `_ is a commercial +`JetBrains Rider `_ is a commercial `JetBrains `_ IDE for C# and C++ that uses the same solution system as Visual Studio. +.. note:: + + This documentation is for contributions to the game engine, and not using + JetBrains Rider as a C# or GDScript editor. To code C# or GDScript in an external editor, see + :ref:`the C# guide to configure an external editor `. + Importing the project --------------------- +You will need to install `Python `_ in your development environment +along with `MinGW `_. You will also need the Visual Studio C++ Build Tools, which +you can install using the Visual Studio Installer. Ensure all dependencies are installed +before you continue to the next steps. + .. tip:: If you already use Visual Studio as your main IDE, you can use the same solution file in Rider. Rider and Visual Studio use the same solution format, so you can switch between the two IDEs without rebuilding the solution file. Debug configurations need to be changed when going from one IDE to another. -Rider requires a solution file to work on a project. While Godot does not come -with the solution file, it can be generated using SCons. +Rider requires a solution file to work on a C++ project. While Godot does not come +with a solution file, it can be generated using SCons. - Navigate to the Godot root folder and open a Command Prompt or PowerShell window. - Copy, paste and run the next command to generate the solution. @@ -29,9 +40,10 @@ The ``dev_build`` parameter makes sure the debug symbols are included, allowing - If you have Rider setup as your main IDE for .sln, you can now open the project by double-clicking on the ``godot.sln`` in the project root or by using the **Open** option inside of Rider. -.. note:: Rider could fail to build the first time you open the project. - If that is the case, you can close Rider and open the solution in Visual Studio, build it, close Visual Studio, - and open the solution in Rider again. You are now able to build the project from Rider. +.. note:: Rider could fail to build the solution. + If that is the case, try running `git clean -xdf` to remove all traces of the previous build artifacts + and regenerate the build files using the `scons` command again. Restarting the terminal and your + development environment may help. Compiling and debugging the project ----------------------------------- @@ -47,11 +59,12 @@ if you want to debug the editor, you need to configure the debugger first. .. figure:: img/rider_configurations.webp :align: center -- Delete what is under **Program arguments** and paste the following line: - -:: +- Ensure the following values for the C++ Project Run Configuration: - -e --path + - Exe Path : ``$(LocalDebuggerCommand)`` + - Program Arguments: ``-e --path `` + - Working Directory: ``$(LocalDebuggerWorkingDirectory)`` + - Before Launch has a value of "Build Project" This will tell the executable to debug the specified project without using the project manager. Use the root path to the project folder, not ``project.godot`` file path. @@ -59,11 +72,18 @@ Use the root path to the project folder, not ``project.godot`` file path. .. figure:: img/rider_configurations_changed.webp :align: center -- Finally click on apply and ok to save the changes. +- Finally click on "Apply" and "OK" to save the changes. -- You can now launch the debugger by pressing the **Debug** icon at the top of the screen and it will open the project to debug. +- When you press the **Debug** icon at the top of the screen, JetBrains Rider will launch the Godot editor with the debugger attached. Alternatively you can use **Run > Attach to Process** to attach the debugger to a running Godot instance. .. figure:: img/rider_attach_to_process.webp :align: center + +- You can find the Godot instance by searching for ``godot.editor`` and then clicking ``Attach with LLDB`` + +.. figure:: img/rider_attach_to_process_dialog.webp + :align: center + +Please consult the `JetBrains Rider documentation `_ for any specific information about the JetBrains IDE.