diff --git a/development/cpp/configuring_an_ide.rst b/development/cpp/configuring_an_ide.rst index 8a87e15b7..3f31063b1 100644 --- a/development/cpp/configuring_an_ide.rst +++ b/development/cpp/configuring_an_ide.rst @@ -13,7 +13,7 @@ Development Environment), here are setup instructions for some popular ones: - :ref:`Qt Creator ` (all desktop platforms) - :ref:`Kdevelop ` (all desktop platforms) - :ref:`Xcode ` (macOS) -- :ref:`Visual Studio ` (Windows) +- :ref:`Visual Studio ` (Windows) - :ref:`Visual Studio Code` (all desktop platforms) - :ref:`Android Studio` (all desktop platforms) - :ref:`CLion` (all desktop platforms) @@ -263,6 +263,61 @@ Test it: - It should break at the point! +.. _doc_configuring_an_ide_vs: + +Visual Studio +-------------- + +Visual Studio Community is free for non-commercial use and has lots of great features, such as memory view, performance view, source control and more. +You can get it `at microsoft `_. + +Setup +^^^^^^ + +To start developing with Visual Studio, follow these steps: + +- Open the Visual Studio Installer and install the C++ package: + +.. image:: img/vs_1_install_cpp_package.png + +- Open a Command Prompt or PowerShell window, use ``cd`` to reach the Godot source directory and run ``scons platform=windows vsproj=yes``. + +- Now open the Godot folder by clicking **Open a project or solution** and choose ``godot.sln``. + - You can also double-click the ``godot.sln`` file in Explorer. + +You can now start developing with Visual Studio. + +Debugging +^^^^^^^^^^ + +Visual Studio features a powerful debugger. This allows the user to examine Godot's source code, stop at specific points in the code, +make changes, and view them on the run. + +.. Note:: Debugging the Godot Engine inside the editor will require an extra setup step. + + Because opening Godot opens the Project Manager at first instead of the project you're working on, + the debugger will detach as soon as you open a project. This means the debugger will stop, even though Godot is still running in another process. + + The reason is that the debugger attaches to the Project Manager process only. When you open a project, it will close and open another process for + the editor. + +To overcome this, you need to edit the debugging command line arguments in VS. In your project, click **Project > Project Properties**: + +.. image:: img/vs_2_project_properties.png + +Then add this to command arguments: + +.. image:: img/vs_3_debug_command_line.png + +- The ``-e`` flag is for entering the editor directly (which skips the Project Manager). +- The ``--path`` argument should be an *absolute* path to a project directory (not a `project.godot` file). + +To learn more about command line arguments, refer to the :ref:`command line tutorial `. + +To check that everything is working, put a breakpoint in ``main.cpp`` and press F5 to start debugging. + +.. image:: img/vs_4_debugging_main.png + .. _doc_configuring_an_ide_vscode: Visual Studio Code diff --git a/development/cpp/img/vs_1_install_cpp_package.png b/development/cpp/img/vs_1_install_cpp_package.png new file mode 100644 index 000000000..87ada0241 Binary files /dev/null and b/development/cpp/img/vs_1_install_cpp_package.png differ diff --git a/development/cpp/img/vs_2_project_properties.png b/development/cpp/img/vs_2_project_properties.png new file mode 100644 index 000000000..51c2df5ed Binary files /dev/null and b/development/cpp/img/vs_2_project_properties.png differ diff --git a/development/cpp/img/vs_3_debug_command_line.png b/development/cpp/img/vs_3_debug_command_line.png new file mode 100644 index 000000000..f52416247 Binary files /dev/null and b/development/cpp/img/vs_3_debug_command_line.png differ diff --git a/development/cpp/img/vs_4_debugging_main.png b/development/cpp/img/vs_4_debugging_main.png new file mode 100644 index 000000000..d546ae425 Binary files /dev/null and b/development/cpp/img/vs_4_debugging_main.png differ