From c0b566cce157a40537bab49dc990a5ca241f2cd1 Mon Sep 17 00:00:00 2001 From: Yuri Sizov Date: Tue, 19 May 2020 18:49:01 +0300 Subject: [PATCH] Adjusted language and layout of configuring an IDE docs --- _static/css/custom.css | 8 ++ .../cpp/configuring_an_ide/android_studio.rst | 15 ++- development/cpp/configuring_an_ide/clion.rst | 42 +++--- .../img/qtcreator-add-custom-process-step.png | Bin 11271 -> 0 bytes .../img/qtcreator-edit-files-dialog.png | Bin 43772 -> 0 bytes .../img/vs_2_project_properties.png | Bin 10975 -> 15716 bytes .../img/vscode_1_create_launch.json.png | Bin 5682 -> 4713 bytes .../img/vscode_configure_task.png | Bin 0 -> 6747 bytes .../img/vscode_create_tasksjson.png | Bin 0 -> 3921 bytes .../img/vscode_create_tasksjson_others.png | Bin 0 -> 7493 bytes development/cpp/configuring_an_ide/index.rst | 2 +- .../cpp/configuring_an_ide/kdevelop.rst | 91 ++++++++----- .../cpp/configuring_an_ide/qt_creator.rst | 124 ++++++++--------- .../cpp/configuring_an_ide/visual_studio.rst | 76 ++++++----- .../configuring_an_ide/visual_studio_code.rst | 107 +++++++++++---- development/cpp/configuring_an_ide/xcode.rst | 125 ++++++++++-------- 16 files changed, 363 insertions(+), 227 deletions(-) delete mode 100644 development/cpp/configuring_an_ide/img/qtcreator-add-custom-process-step.png delete mode 100644 development/cpp/configuring_an_ide/img/qtcreator-edit-files-dialog.png create mode 100644 development/cpp/configuring_an_ide/img/vscode_configure_task.png create mode 100644 development/cpp/configuring_an_ide/img/vscode_create_tasksjson.png create mode 100644 development/cpp/configuring_an_ide/img/vscode_create_tasksjson_others.png diff --git a/_static/css/custom.css b/_static/css/custom.css index c18d4a58f..528222fc7 100644 --- a/_static/css/custom.css +++ b/_static/css/custom.css @@ -212,6 +212,14 @@ legend, opacity: 0.75; } +.rst-content div.figure.figure-w480 { + max-width: 480px; +} + +.rst-content div.figure img { + border: 1px solid var(--body-color); +} + p, article ul, article ol, diff --git a/development/cpp/configuring_an_ide/android_studio.rst b/development/cpp/configuring_an_ide/android_studio.rst index e5c43018f..7e8419331 100644 --- a/development/cpp/configuring_an_ide/android_studio.rst +++ b/development/cpp/configuring_an_ide/android_studio.rst @@ -8,12 +8,19 @@ Android Studio It has a feature-rich editor which supports Java and C/C++. It can be used to work on Godot's core engine as well as the Android platform codebase. -- From Android Studio's welcome window, select - **Open an existing Android Studio project**. +Importing the project +--------------------- -.. image:: img/android_studio_setup_project_1.png +- From the Android Studio's welcome window select **Open an existing + Android Studio project**. -- Navigate to ``/platform/android/java`` and select the ``settings.gradle`` gradle file. +.. figure:: img/android_studio_setup_project_1.png + :figclass: figure-w480 + :align: center + + Android Studio's welcome window. + +- Navigate to ``/platform/android/java`` and select the ``settings.gradle`` file. - Android Studio will import and index the project. - To build the project, follow the :ref:`compiling instructions `. diff --git a/development/cpp/configuring_an_ide/clion.rst b/development/cpp/configuring_an_ide/clion.rst index f63e54362..874cf2ca9 100644 --- a/development/cpp/configuring_an_ide/clion.rst +++ b/development/cpp/configuring_an_ide/clion.rst @@ -3,29 +3,39 @@ CLion ===== -`CLion `_ is a commercial IDE for C++. -It requires a ``CMakeLists.txt`` file as a project file, which is problematic -for Godot which uses the SCons buildsystem instead of CMake. -However, there is a ``CMakeLists.txt`` configuration for -:ref:`Android Studio ` which can also -be used by CLion. +`CLion `_ is a commercial +`JetBrains `_ IDE for C++. -- If you've already opened another project, choose **File > Open** at the top of - the CLion window. Otherwise, choose the option to import an existing project - in the Welcome window. -- Navigate to your Godot Git clone then select the folder - ``platform/android/java/lib`` - the ``CMakeLists.txt`` file is located there. - Select the folder (*not* the ``CMakeLists.txt file``), then click **OK**. +Importing the project +--------------------- -.. image:: img/clion_1_open.png +CLion requires a ``CMakeLists.txt`` file as a project file, which is problematic +for Godot because it uses the SCons buildsystem instead of CMake. However, +there is a ``CMakeLists.txt`` configuration for :ref:`Android Studio ` +which can also be used by CLion. + +- From the CLion's welcome window choose the option to import an existing + project. If you've already opened another project, choose **File > Open** + from the top menu. +- Navigate to ``/platform/android/java/lib`` (the + ``CMakeLists.txt`` file is located there) and select it (but *not* the + ``CMakeLists.txt`` file itself), then click **OK**. + +.. figure:: img/clion_1_open.png + :align: center + + The folder containing the ``CMakeLists.txt`` file. - If this popup window appears, select **This Window** to open the project: -.. image:: img/clion_2_this_window.png +.. figure:: img/clion_2_this_window.png + :align: center -- Choose **Tools > CMake >Change Project Root** and select the root Godot folder. +- Choose **Tools > CMake > Change Project Root** from the top menu and select + the Godot root folder. -.. image:: img/clion_3_change_project_root.png +.. figure:: img/clion_3_change_project_root.png + :align: center - You should be now be able to see all the project files. Autocomplete should work once the project has finished indexing. diff --git a/development/cpp/configuring_an_ide/img/qtcreator-add-custom-process-step.png b/development/cpp/configuring_an_ide/img/qtcreator-add-custom-process-step.png deleted file mode 100644 index cc4bd260d980e8c56439d0a2bee205915617c424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11271 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 diff --git a/development/cpp/configuring_an_ide/img/qtcreator-edit-files-dialog.png b/development/cpp/configuring_an_ide/img/qtcreator-edit-files-dialog.png deleted file mode 100644 index dd15c2ac7812a7f86ccdc708fc9ada96a4a1b2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43772 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 diff --git a/development/cpp/configuring_an_ide/img/vs_2_project_properties.png b/development/cpp/configuring_an_ide/img/vs_2_project_properties.png index f61dd9041d9ee25059ddb3b4e75039a1c392ba58..a0fc1d8836ecd579b7b5131799b502d5e86a2c53 100644 GIT binary patch literal 15716 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 W5)%>SNI`#jWl&&V1^PdkpaTvSN^ Qj0Pyb(2%cqZvO8705ow3r~m)} literal 10975 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 Hj|cw)uNTHc literal 5682 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 YCnf6%*4Y<&iU0rr07*qoM6N<$f{n}%Q~&?~ diff --git a/development/cpp/configuring_an_ide/img/vscode_configure_task.png b/development/cpp/configuring_an_ide/img/vscode_configure_task.png new file mode 100644 index 0000000000000000000000000000000000000000..f69e76b7f4cf93ebf5dd63a6134f65450cbc783d GIT binary patch literal 6747 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 l5W~nJe{&oey!T-Z`6M%Rd+{{vB_rQQGl literal 0 HcmV?d00001 diff --git a/development/cpp/configuring_an_ide/img/vscode_create_tasksjson_others.png b/development/cpp/configuring_an_ide/img/vscode_create_tasksjson_others.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7b5094478d5795dffd6ad43e3b884d20f6478a GIT binary patch literal 7493 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 Q00YS6n&s89D{c?}3pE+humAu6 literal 0 HcmV?d00001 diff --git a/development/cpp/configuring_an_ide/index.rst b/development/cpp/configuring_an_ide/index.rst index b47287a16..f13fda380 100644 --- a/development/cpp/configuring_an_ide/index.rst +++ b/development/cpp/configuring_an_ide/index.rst @@ -16,8 +16,8 @@ Development Environment), here are setup instructions for some popular ones: clion kdevelop qt_creator - visual_studio_code visual_studio + visual_studio_code xcode It is possible to use other IDEs, but their setup is not documented yet. diff --git a/development/cpp/configuring_an_ide/kdevelop.rst b/development/cpp/configuring_an_ide/kdevelop.rst index 6b79bf1ba..982de221b 100644 --- a/development/cpp/configuring_an_ide/kdevelop.rst +++ b/development/cpp/configuring_an_ide/kdevelop.rst @@ -5,54 +5,83 @@ KDevelop `KDevelop `_ is a free, open source IDE for all desktop platforms. -Start by opening KDevelop and choosing **Open Project**. +Importing the project +--------------------- -.. image:: img/kdevelop_newproject.png +- From the KDevelop's main screen select **Open Project**. -Choose the directory where you cloned Godot. +.. figure:: img/kdevelop_newproject.png + :figclass: figure-w480 + :align: center -On the next screen, choose **Custom Build System** for the **Project Manager**. + KDevelop's main screen. -.. image:: img/kdevelop_custombuild.png +- Navigate to the Godot root folder and select it. +- On the next screen, choose **Custom Build System** for the **Project Manager**. -Now that the project has been imported, open the project configuration. +.. figure:: img/kdevelop_custombuild.png + :figclass: figure-w480 + :align: center -.. image:: img/kdevelop_openconfig.png +- After the project has been imported, open the project configuration by right-clicking + on it in the **Projects** panel and selecting **Open Configuration..** option. -Add the following includes/imports: +.. figure:: img/kdevelop_openconfig.png + :figclass: figure-w480 + :align: center -.. code-block:: none +- Under **Language Support** open the **Includes/Imports** tab and add the following paths: - . // a dot to indicate the root of the Godot project - core/ - core/os/ - core/math/ - drivers/ - platform/linuxbsd/ // make that platform/osx/ if you're using macOS + .. code-block:: none -.. image:: img/kdevelop_addincludes.png + . // A dot, to indicate the root of the Godot project + core/ + core/os/ + core/math/ + drivers/ + platform// // Replace with a folder + corresponding to your current platform -Apply the changes. +.. figure:: img/kdevelop_addincludes.png + :figclass: figure-w480 + :align: center -Switch to the **Custom Build System** tab. Add a build configuration -and keep the build directory blank. Enable build tools and add ``scons`` -as the executable then add ``platform=linuxbsd target=debug`` (``platform=osx`` -if you're on macOS) as the arguments. +- Apply the changes. +- Under **Custom Build System** add a new build configuration with the following settings: -.. image:: img/kdevelop_buildconfig.png + +-----------------+------------------------------------------------------------------------------+ + | Build Directory | *blank* | + +-----------------+------------------------------------------------------------------------------+ + | Enable | **True** | + +-----------------+------------------------------------------------------------------------------+ + | Executable | **scons** | + +-----------------+------------------------------------------------------------------------------+ + | Arguments | See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments. | + +-----------------+------------------------------------------------------------------------------+ -Next, we need to tell KDevelop where to find the binary. -From the **Run** menu, choose **Configure Launches**. +.. figure:: img/kdevelop_buildconfig.png + :figclass: figure-w480 + :align: center -.. image:: img/kdevelop_configlaunches.png +- Apply the changes and close the configuration window. -Click **Add** if no launcher exists. Then add the path to your -executable in the executable section. Your executable should be located -in the ``bin/`` subdirectory and should be named something like -``godot.linuxbsd.tools.64`` (the name could be different depending on your -platform and build options). +Debugging the project +--------------------- -.. image:: img/kdevelop_configlaunches2.png +- Select **Run > Configure Launches...** from the top menu. + +.. figure:: img/kdevelop_configlaunches.png + :figclass: figure-w480 + :align: center + +- Click **Add** to create a new launch configuration. +- Select **Executable** option and specify the path to your executable located in + the ``/bin`` folder. The name depends on your build configuration, + e.g. ``godot.linuxbsd.tools.64`` for 64-bit LinuxBSD platform with ``tools`` enabled. + +.. figure:: img/kdevelop_configlaunches2.png + :figclass: figure-w480 + :align: center If you run into any issues, ask for help in one of `Godot's community channels `__. diff --git a/development/cpp/configuring_an_ide/qt_creator.rst b/development/cpp/configuring_an_ide/qt_creator.rst index 62d208db5..398d4fddd 100644 --- a/development/cpp/configuring_an_ide/qt_creator.rst +++ b/development/cpp/configuring_an_ide/qt_creator.rst @@ -3,103 +3,109 @@ Qt Creator ========== -Qt Creator is a free, open source IDE for all desktop platforms. +`Qt Creator `_ is a free, open source IDE for all desktop platforms. Importing the project --------------------- -- Choose **New Project > Import Project > Import Existing Project**. +- From the Qt Creator's main screen select **New Project > Import Project > Import Existing Project**. -.. image:: img/qtcreator-new-project.png +.. figure:: img/qtcreator-new-project.png + :figclass: figure-w480 + :align: center -- Set the path to your Godot root directory and enter the project name. +- Under **Location** select the Godot root folder. -.. image:: img/qtcreator-set-project-path.png +.. figure:: img/qtcreator-set-project-path.png + :figclass: figure-w480 + :align: center -- Here you can choose which folders and files will be visible to the project. - C/C++ files are added automatically. Potentially useful additions: +- Next, you can choose which folders and files will be visible to the project. + While C/C++ files are added automatically, other extensions can be potentially useful: ``*.py`` for buildsystem files, ``*.java`` for Android platform development, - ``*.mm`` for macOS platform development. Click **Next**. + ``*.mm`` for macOS platform development. -.. image:: img/qtcreator-apply-import-filter.png +.. figure:: img/qtcreator-apply-import-filter.png + :figclass: figure-w480 + :align: center -- Click **Finish**. -- Add a line containing ``.`` to ``project_name.includes`` to get working - code completion. +.. note:: You can change this configuration later by right-clicking on your project + and selecting the **Edit Files...** option. -.. image:: img/qtcreator-project-name-includes.png + .. figure:: img/qtcreator-edit-files-menu.png + :figclass: figure-w480 + :align: center -Build and run --------------- -Build configuration: +- Finish the import. +- Open the ``project_name.includes`` file and add a line containing ``.`` to it + to correctly enable the code completion. -- Click on **Projects** and open the **Build** tab. +.. figure:: img/qtcreator-project-name-includes.png + :figclass: figure-w480 + :align: center + +- From the left-side menu select **Projects** and open the **Build** tab. - Delete the predefined ``make`` build step. -.. image:: img/qtcreator-projects-build.png +.. figure:: img/qtcreator-projects-build.png + :figclass: figure-w480 + :align: center -- Click **Add Build Step > Custom Process Step**. +- Click **Add Build Step > Custom Process Step** to add a new build step + with the following settings: -.. image:: img/qtcreator-add-custom-process-step.png + +-----------+------------------------------------------------------------------------------+ + | Command | **scons** | + +-----------+------------------------------------------------------------------------------+ + | Arguments | See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments. | + +-----------+------------------------------------------------------------------------------+ -- Type ``scons`` in the **Command** field. If it fails with - ``Could not start process "scons"``, it can mean that ``scons`` is not in - your ``PATH`` environment variable. In this case, you'll have to specify the - full path to the SCons binary. -- Fill the **Arguments** field with your compilation options - (e.g.: ``p=linuxbsd target=debug -j 4``). +.. figure:: img/qtcreator-set-scons-command.png + :figclass: figure-w480 + :align: center -.. image:: img/qtcreator-set-scons-command.png +.. note:: If the build fails with ``Could not start process "scons"``, it can mean that ``scons`` + is not in your ``PATH`` environment variable. In this case, you'll have to specify the + full path to the SCons binary. -Run configuration: +Debugging the project +--------------------- -- Open the **Run** tab. -- Point the **Executable** to your compiled Godot binary - (e.g: ``%{buildDir}/bin/godot.linuxbsd.opt.tools.64``). -- If you want to run a specific project, point **Working directory** to the - project folder. -- If you want to run the editor, add ``-e`` to the **Command line arguments** - field. +- From the left-side menu select **Projects** and open the **Run** tab. +- Under **Executable** specify the path to your executable located in + the ``/bin`` folder. The name depends on your build configuration, + e.g. ``godot.linuxbsd.tools.64`` for 64-bit LinuxBSD platform with ``tools`` enabled. + You can use ``%{buildDir}`` to reference the project root, e.g: ``%{buildDir}/bin/godot.linuxbsd.opt.tools.64``. +- If you want to run a specific project, specify its root folder under **Working directory**. +- If you want to run the editor, add ``-e`` to the **Command line arguments** field. -.. image:: img/qtcreator-run-command.png +.. figure:: img/qtcreator-run-command.png + :figclass: figure-w480 + :align: center -Updating sources after pulling latest commits ---------------------------------------------- - -As a developer, you usually want to frequently pull the latest commits from the -upstream Git repository or a specific fork. However, this brings a problem with -it: as the development continues, source files (and folders) are added or -removed. These changes need to be reflected in your project files for Qt Creator -too, so you continue to have a nice programming experience. A simple way to -check is to right click at your root folder in the **Projects View** and click -on **Edit files...**. - -.. image:: img/qtcreator-edit-files-menu.png - -Now a new dialog should appear that is similar in functionality to the one in -the third step of the *Importing the project* section above. Here, you can check -whether you want to add/remove specific files and/or folders. You can choose by -clicking with your mouse or just simply by clicking the **Apply Filter** button. -Click on **OK** and you're ready to continue working. - -.. image:: img/qtcreator-edit-files-dialog.png +To learn more about command line arguments, refer to the +:ref:`command line tutorial `. Code style configuration ------------------------ Developers must follow the project's :ref:`code style ` -and the IDE should help them follow it. By default, Qt Creator does use spaces +and the IDE should help them follow it. By default, Qt Creator uses spaces for indentation which doesn't match the Godot code style guidelines. You can change this behavior by changing the **Code Style** in **Options > C++**. -.. image:: img/qtcreator-options-cpp.png +.. figure:: img/qtcreator-options-cpp.png + :figclass: figure-w480 + :align: center Click on **Edit** to change the current settings, then click on **Copy Built-in Code Style** button to set a new code style. Set a name for it (e.g. Godot) and change the Tab policy to be **Tabs Only**. -.. image:: img/qtcreator-edit-codestyle.png +.. figure:: img/qtcreator-edit-codestyle.png + :figclass: figure-w480 + :align: center If you run into any issues, ask for help in one of `Godot's community channels `__. diff --git a/development/cpp/configuring_an_ide/visual_studio.rst b/development/cpp/configuring_an_ide/visual_studio.rst index 67db5400f..4a46351ff 100644 --- a/development/cpp/configuring_an_ide/visual_studio.rst +++ b/development/cpp/configuring_an_ide/visual_studio.rst @@ -3,62 +3,66 @@ Visual Studio ============= -Visual Studio Community is a Windows-only IDE that's free for non-commercial use. +`Visual Studio Community `__ is a Windows-only IDE +by `Microsoft `_ that's free for non-commercial use. It has many useful features, such as memory view, performance view, source -control and more. You can get it -`from Microsoft `__. +control and more. -Setup ------ +Importing the project +--------------------- -To start developing with Visual Studio, follow these steps: +Visual Studio requires a solution file to work on a project. While Godot does not come +with the solution file, it can be generated using SCons. -- Open the Visual Studio Installer and install the C++ package: +- Navigate to the Godot root folder and open a Command Prompt or PowerShell window. +- Run ``scons platform=windows vsproj=yes`` to generate the solution. +- You can now open the project by double-clicking on the ``godot.sln`` in the project root + or by using the **Open a project or solution** option inside of the Visual Studio. +- Use the **Build** top menu to build the project. -.. image:: img/vs_1_install_cpp_package.png +.. warning:: Visual Studio must be configured with the C++ package. It can be selected + in the intaller: -- Open a Command Prompt or PowerShell window, use ``cd`` to reach the Godot source - directory and run ``scons platform=windows vsproj=yes``. + .. figure:: img/vs_1_install_cpp_package.png + :align: center -- 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 ---------- +Debugging the project +--------------------- 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. +source code, stop at specific points in the code, inspect the current execution context, +and make live changes to the codebase. -.. note:: Debugging the Godot Engine inside the editor will require an extra setup step. +You can launch the project with the debugger attached using the **Debug > Start Debugging** +option from the top menu. However, unless you want to debug the project manager specifically, +you'd need to configure debugging options first. This is due to the fact that when the Godot +project manager opens a project, the initial process is terminated and the debugger gets detached. - 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 that the debugger will stop, even though Godot is still running in - another process. +- To configure the launch options to use with the debugger use **Project > Properties** + from the top menu: -To overcome this, you need to edit the debugging command line arguments in VS. In your -project, click **Project > Project Properties**: +.. figure:: img/vs_2_project_properties.png + :align: center -.. image:: img/vs_2_project_properties.png +- Open the **Debugging** section and under **Command Arguments** add two new arguments: + the ``-e`` flag opens the editor instead of the project manager, and the ``--path`` argument + tells the executable to open the specified project (must be provided as an *absolute* path + to the project root, not the ``project.godot`` file). -Then add this to the 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). +.. figure:: img/vs_3_debug_command_line.png + :align: center 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 +Even if you start the project without a debugger attached it can still be connected to the running +process using **Debug > Attach to Process...** menu. + +To check that everything is working, put a breakpoint in ``main.cpp`` and press :kbd:`F5` to start debugging. -.. image:: img/vs_4_debugging_main.png +.. figure:: img/vs_4_debugging_main.png + :align: center If you run into any issues, ask for help in one of `Godot's community channels `__. diff --git a/development/cpp/configuring_an_ide/visual_studio_code.rst b/development/cpp/configuring_an_ide/visual_studio_code.rst index ac3d67f5a..319fac67f 100644 --- a/development/cpp/configuring_an_ide/visual_studio_code.rst +++ b/development/cpp/configuring_an_ide/visual_studio_code.rst @@ -3,47 +3,104 @@ Visual Studio Code ================== -Visual Studio Code is a free cross-platform IDE (not to be confused with -:ref:`doc_configuring_an_ide_vs`). You can get it -`from Microsoft `__. +`Visual Studio Code `_ is a free cross-platform IDE +by `Microsoft `_ (not to be confused with :ref:`doc_configuring_an_ide_vs`). +Importing the project +--------------------- - Make sure the C/C++ extension is installed. You can find instructions in - the `documentation `_. -- Open the cloned Godot folder in Visual Studio Code with + the `official documentation `_. +- From the Visual Studio Code's main screen open the Godot root folder with **File > Open Folder...**. +- Press :kbd:`Ctrl + Shift + P` to open the command prompt window and enter *Configure Task*. -In order to build the project, you need two configuration files: -``launch.json`` and ``tasks.json``. To create them: +.. figure:: img/vscode_configure_task.png + :align: center -- Open the **Debug** view by pressing :kbd:`Ctrl + Shift + D` and select the - cogwheel with an orange dot: +- Select the **Create tasks.json file from template** option. -.. image:: img/vscode_1_create_launch.json.png +.. figure:: img/vscode_create_tasksjson.png + :align: center -- Select **C++ (GDB/LLDB)** (it might be named differently on macOS or Windows). +- Then select **Others**. -- Update ``launch.json`` to match: +.. figure:: img/vscode_create_tasksjson_others.png + :align: center -.. image:: img/vscode_2_launch.json.png +- Within the ``tasks.json`` file find the ``"tasks"`` array and add a new section to it: -If you're following this guide on macOS or Windows, you will have to adjust -``godot.linuxbsd.tools.64`` accordingly. +.. code-block:: js -- Create a ``tasks.json`` file by starting the Debug process with :kbd:`F5`. - Visual Studio Code will show a dialog with a **Configure Task** button. - Choose it and select **Create tasks.json file from template**, then select **Others**. + { + "label": "build", + "type": "shell", + "command": "scons", + "group": "build", + "args": [ + "platform=linuxbsd", // Change to your current platform + "target=debug", + "-j4" + ], + "problemMatcher": "$msCompile" + } -- Update ``tasks.json`` to match: +.. figure:: img/vscode_3_tasks.json.png + :figclass: figure-w480 + :align: center -.. image:: img/vscode_3_tasks.json.png + An example of a filled out ``tasks.json``. -If you're following this guide on macOS or Windows, you will have to adjust -``platform=linuxbsd`` accordingly. +Arguments are can be different based on your own setup and needs. See +:ref:`doc_introduction_to_the_buildsystem` for a full list of arguments. -- You can now start the Debug process again to test that everything works. -- If the build phase fails, check the console for hints. On Linux, it's most - likely due to missing dependencies. Check :ref:`doc_compiling_for_linuxbsd`. +Debugging the project +--------------------- + +To run and debug the project you need to create a new configuration in the ``launch.json`` file. + +- Press :kbd:`Ctrl + Shift + D` to open the Run panel. +- If ``launch.json`` file is missing you will be prompted to create a new one. + +.. figure:: img/vscode_1_create_launch.json.png + :align: center + +- Select **C++ (GDB/LLDB)**. There may be another platform specific option here. If selected, + adjust the configuration example provided accordingly. +- Within the ``launch.json`` file find the ``"configurations"`` array and add a new section to it: + +.. code-block:: js + + { + "name": "Launch", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/bin/godot.linuxbsd.tools.64", + // Change to your current platform + "args": [ "-e" ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": true, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ], + "preLaunchTask": "build" + } + +.. figure:: img/vscode_2_launch.json.png + :figclass: figure-w480 + :align: center + + An example of a filled out ``launch.json``. + +The name under ``program`` depends on your build configuration, +e.g. ``godot.linuxbsd.tools.64`` for 64-bit LinuxBSD platform with ``tools`` enabled. If you run into any issues, ask for help in one of `Godot's community channels `__. diff --git a/development/cpp/configuring_an_ide/xcode.rst b/development/cpp/configuring_an_ide/xcode.rst index 305b9968d..4fcf4ccf0 100644 --- a/development/cpp/configuring_an_ide/xcode.rst +++ b/development/cpp/configuring_an_ide/xcode.rst @@ -3,93 +3,108 @@ Xcode ===== -Xcode is a free macOS-only IDE. You can download it from the Mac App Store. +`Xcode `_ is a free macOS-only IDE. You can +download it from the Mac App Store. -Project setup -------------- +Importing the project +--------------------- -- Create an Xcode external build project anywhere. +- From Xcode's main screen create a new project using the **Other > External Build System** template. -.. image:: img/xcode_1_create_external_build_project.png +.. figure:: img/xcode_1_create_external_build_project.png + :figclass: figure-w480 + :align: center -Go to the build target's **Info** tab, then: +- Open your build targets from the **Targets** section and select the **Info** tab. +- Fill out the form with the following settings: -- Set **Build Tool** to the full path to SCons. -- Set **Arguments** to something like - ``platform=osx tools=yes bits=64 target=debug``. -- Set **Directory** to the path to Godot's source folder. -- You may uncheck **Pass build settings in environment**. + +------------+------------------------------------------------------------------------------+ + | Build Tool | A full path to the **scons** executable, e.g. **/usr/local/bin/scons** | + +------------+------------------------------------------------------------------------------+ + | Arguments | See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments. | + +------------+------------------------------------------------------------------------------+ + | Directory | A full path to the Godot root folder | + +------------+------------------------------------------------------------------------------+ -.. image:: img/xcode_2_configure_scons.png +.. figure:: img/xcode_2_configure_scons.png + :figclass: figure-w480 + :align: center -Add a Command Line Tool target which will be used for indexing the project: +- Add a Command Line Tool target which will be used for indexing the project by + choosing **File > New > Target...**. -- In Xcode's menu, choose **File > New > Target...** and add a new Xcode - command line tool target. +.. figure:: img/xcode_3_add_new_target.png + :figclass: figure-w480 + :align: center -.. image:: img/xcode_3_add_new_target.png +- Select **OS X > Application > Command Line Tool**. -.. image:: img/xcode_4_select_command_line_target.png +.. figure:: img/xcode_4_select_command_line_target.png + :figclass: figure-w480 + :align: center -- Name it something so you know not to compile with this target (e.g. ``GodotXcodeIndex``). -- Goto the newly created target's **Build Settings** tab and look for **Header Search Paths**. -- Set **Header Search Paths** to the absolute path to Godot's source folder. -- Make it recursive by adding two asterisks (``**``) to the end of the path, - e.g. ``/Users/me/repos/godot-source/**``. +.. note:: Name it something so you know not to compile with this target (e.g. ``GodotXcodeIndex``). -Add the Godot source to the project: +- For this target open the **Build Settings** tab and look for **Header Search Paths**. +- Set **Header Search Paths** to the absolute path to the Godot root folder. You need to + include subdirectories as well. To achieve that, add two two asterisks (``**``) to the + end of the path, e.g. ``/Users/me/repos/godot-source/**``. -- Drag and drop Godot source into the project file browser. +- Add the Godot source to the project by dragging and dropping it into the project file browser. - Uncheck **Create external build system project**. -.. image:: img/xcode_5_after_add_godot_source_to_project.png +.. figure:: img/xcode_5_after_add_godot_source_to_project.png + :figclass: figure-w480 + :align: center -- Click **Next**. -- Select **Create groups**. +- Next select **Create groups** for the **Added folders** option and check *only* + your command line indexing target in the **Add to targets** section. -.. image:: img/xcode_6_after_add_godot_source_to_project_2.png +.. figure:: img/xcode_6_after_add_godot_source_to_project_2.png + :figclass: figure-w480 + :align: center -- Check *only* your command line indexing target in the - **Add to targets** section. -- Click finish. Xcode will now index the files. This may take a few minutes. +- Xcode will now index the files. This may take a few minutes. - Once Xcode is done indexing, you should have jump-to-definition, autocompletion, and full syntax highlighting. -Scheme setup ------------- +Debugging the project +--------------------- -To enable debugging support, edit the external build target's build scheme: +To enable debugging support you need to edit the external build target's build and run schemes. - Open the scheme editor of the external build target. -- Expand the **Build** menu. -- Goto **Post Actions**. -- Add a new script run action, select your project in **Provide build settings from** - as this allows you to use the``${PROJECT_DIR}`` variable. +- Locate the **Build > Post Actions** section. +- Add a new script run action +- Under **Provide build settings from** select your project. This allows to reference + the project directory within the script. +- Create a script that will give the binary a name that Xcode can recognize, e.g.: -.. image:: img/xcode_7_setup_build_post_action.png +.. code-block:: shell + + ln -f ${PROJECT_DIR}/godot/bin/godot.osx.tools.64 ${PROJECT_DIR}/godot/bin/godot + +.. figure:: img/xcode_7_setup_build_post_action.png + :figclass: figure-w480 + :align: center -- Write a script that gives the binary a name that Xcode will recognize, such as: - ``ln -f ${PROJECT_DIR}/godot/bin/godot.osx.tools.64 ${PROJECT_DIR}/godot/bin/godot`` - Build the external build target. -Edit the external build target's Run scheme: +- Open the scheme editor again and select **Run**. -- Open the scheme editor again. -- Click **Run**. - -.. image:: img/xcode_8_setup_run_scheme.png +.. figure:: img/xcode_8_setup_run_scheme.png + :figclass: figure-w480 + :align: center - Set the **Executable** to the file you linked in your post-build action script. -- Check **Debug executable** if it isn't checked already. -- You can go to **Arguments** tab and specify the full path to a - ``project.godot`` file to debug the editor instead of the project manager. - Alternatively, use ``--path`` to point to a project *folder* which will be - run directly (instead of opening the editor). +- Check **Debug executable**. +- You can add two arguments on the **Arguments** tab: + the ``-e`` flag opens the editor instead of the project manager, and the ``--path`` argument + tells the executable to open the specified project (must be provided as an *absolute* path + to the project root, not the ``project.godot`` file). -Test the Run scheme: - -- Set a breakpoint in ``platform/osx/godot_main_osx.mm``. -- If all goes well, it should break at the specified breakpoint. +To check that everything is working, put a breakpoint in ``platform/osx/godot_main_osx.mm`` and +run the project. If you run into any issues, ask for help in one of `Godot's community channels `__.