Browse Source

Merge pull request #3512 from Calinou/improve-ide-instructions

Split IDE instructions into several pages, improve writing style
Max Hilbrunner 5 years ago
parent
commit
3067bcd08d
88 changed files with 450 additions and 406 deletions
  1. 0 405
      development/cpp/configuring_an_ide.rst
  2. 21 0
      development/cpp/configuring_an_ide/android_studio.rst
  3. 34 0
      development/cpp/configuring_an_ide/clion.rst
  4. BIN
      development/cpp/configuring_an_ide/img/android_studio_setup_project_1.png
  5. BIN
      development/cpp/configuring_an_ide/img/clion_1_open.png
  6. BIN
      development/cpp/configuring_an_ide/img/clion_2_this_window.png
  7. BIN
      development/cpp/configuring_an_ide/img/clion_3_change_project_root.png
  8. BIN
      development/cpp/configuring_an_ide/img/kdevelop_addincludes.png
  9. BIN
      development/cpp/configuring_an_ide/img/kdevelop_buildconfig.png
  10. BIN
      development/cpp/configuring_an_ide/img/kdevelop_configlaunches.png
  11. BIN
      development/cpp/configuring_an_ide/img/kdevelop_configlaunches2.png
  12. BIN
      development/cpp/configuring_an_ide/img/kdevelop_custombuild.png
  13. BIN
      development/cpp/configuring_an_ide/img/kdevelop_newproject.png
  14. BIN
      development/cpp/configuring_an_ide/img/kdevelop_openconfig.png
  15. BIN
      development/cpp/configuring_an_ide/img/kdevelop_openproject.png
  16. BIN
      development/cpp/configuring_an_ide/img/qtcreator-add-custom-process-step.png
  17. BIN
      development/cpp/configuring_an_ide/img/qtcreator-apply-import-filter.png
  18. BIN
      development/cpp/configuring_an_ide/img/qtcreator-edit-codestyle.png
  19. BIN
      development/cpp/configuring_an_ide/img/qtcreator-edit-files-dialog.png
  20. BIN
      development/cpp/configuring_an_ide/img/qtcreator-edit-files-menu.png
  21. BIN
      development/cpp/configuring_an_ide/img/qtcreator-new-project.png
  22. BIN
      development/cpp/configuring_an_ide/img/qtcreator-options-cpp.png
  23. BIN
      development/cpp/configuring_an_ide/img/qtcreator-project-name-includes.png
  24. BIN
      development/cpp/configuring_an_ide/img/qtcreator-projects-build.png
  25. BIN
      development/cpp/configuring_an_ide/img/qtcreator-run-command.png
  26. BIN
      development/cpp/configuring_an_ide/img/qtcreator-set-project-path.png
  27. BIN
      development/cpp/configuring_an_ide/img/qtcreator-set-scons-command.png
  28. BIN
      development/cpp/configuring_an_ide/img/vs_1_install_cpp_package.png
  29. BIN
      development/cpp/configuring_an_ide/img/vs_2_project_properties.png
  30. BIN
      development/cpp/configuring_an_ide/img/vs_3_debug_command_line.png
  31. BIN
      development/cpp/configuring_an_ide/img/vs_4_debugging_main.png
  32. BIN
      development/cpp/configuring_an_ide/img/vscode_1_create_launch.json.png
  33. BIN
      development/cpp/configuring_an_ide/img/vscode_2_launch.json.png
  34. BIN
      development/cpp/configuring_an_ide/img/vscode_3_tasks.json.png
  35. BIN
      development/cpp/configuring_an_ide/img/xcode_1_create_external_build_project.png
  36. BIN
      development/cpp/configuring_an_ide/img/xcode_2_configure_scons.png
  37. BIN
      development/cpp/configuring_an_ide/img/xcode_3_add_new_target.png
  38. BIN
      development/cpp/configuring_an_ide/img/xcode_4_select_command_line_target.png
  39. BIN
      development/cpp/configuring_an_ide/img/xcode_5_after_add_godot_source_to_project.png
  40. BIN
      development/cpp/configuring_an_ide/img/xcode_6_after_add_godot_source_to_project_2.png
  41. BIN
      development/cpp/configuring_an_ide/img/xcode_7_setup_build_post_action.png
  42. BIN
      development/cpp/configuring_an_ide/img/xcode_8_setup_run_scheme.png
  43. 23 0
      development/cpp/configuring_an_ide/index.rst
  44. 58 0
      development/cpp/configuring_an_ide/kdevelop.rst
  45. 105 0
      development/cpp/configuring_an_ide/qt_creator.rst
  46. 64 0
      development/cpp/configuring_an_ide/visual_studio.rst
  47. 49 0
      development/cpp/configuring_an_ide/visual_studio_code.rst
  48. 95 0
      development/cpp/configuring_an_ide/xcode.rst
  49. BIN
      development/cpp/img/android_studio_setup_project_1.png
  50. BIN
      development/cpp/img/clion_1_open.png
  51. BIN
      development/cpp/img/clion_2_this_window.png
  52. BIN
      development/cpp/img/clion_3_change_project_root.png
  53. BIN
      development/cpp/img/kdevelop_addincludes.png
  54. BIN
      development/cpp/img/kdevelop_buildconfig.png
  55. BIN
      development/cpp/img/kdevelop_configlaunches.png
  56. BIN
      development/cpp/img/kdevelop_configlaunches2.png
  57. BIN
      development/cpp/img/kdevelop_custombuild.png
  58. BIN
      development/cpp/img/kdevelop_newproject.png
  59. BIN
      development/cpp/img/kdevelop_openconfig.png
  60. BIN
      development/cpp/img/kdevelop_openproject.png
  61. BIN
      development/cpp/img/qtcreator-add-custom-process-step.png
  62. BIN
      development/cpp/img/qtcreator-apply-import-filter.png
  63. BIN
      development/cpp/img/qtcreator-edit-codestyle.png
  64. BIN
      development/cpp/img/qtcreator-edit-files-dialog.png
  65. BIN
      development/cpp/img/qtcreator-edit-files-menu.png
  66. BIN
      development/cpp/img/qtcreator-new-project.png
  67. BIN
      development/cpp/img/qtcreator-options-cpp.png
  68. BIN
      development/cpp/img/qtcreator-project-name-includes.png
  69. BIN
      development/cpp/img/qtcreator-projects-build.png
  70. BIN
      development/cpp/img/qtcreator-run-command.png
  71. BIN
      development/cpp/img/qtcreator-set-project-path.png
  72. BIN
      development/cpp/img/qtcreator-set-scons-command.png
  73. BIN
      development/cpp/img/vs_1_install_cpp_package.png
  74. BIN
      development/cpp/img/vs_2_project_properties.png
  75. BIN
      development/cpp/img/vs_3_debug_command_line.png
  76. BIN
      development/cpp/img/vs_4_debugging_main.png
  77. BIN
      development/cpp/img/vscode_1_create_launch.json.png
  78. BIN
      development/cpp/img/vscode_2_launch.json.png
  79. BIN
      development/cpp/img/vscode_3_tasks.json.png
  80. BIN
      development/cpp/img/xcode_1_create_external_build_project.png
  81. BIN
      development/cpp/img/xcode_2_configure_scons.png
  82. BIN
      development/cpp/img/xcode_3_add_new_target.png
  83. BIN
      development/cpp/img/xcode_4_select_command_line_target.png
  84. BIN
      development/cpp/img/xcode_5_after_add_godot_source_to_project.png
  85. BIN
      development/cpp/img/xcode_6_after_add_godot_source_to_project_2.png
  86. BIN
      development/cpp/img/xcode_7_setup_build_post_action.png
  87. BIN
      development/cpp/img/xcode_8_setup_run_scheme.png
  88. 1 1
      development/cpp/index.rst

+ 0 - 405
development/cpp/configuring_an_ide.rst

@@ -1,405 +0,0 @@
-.. _doc_configuring_an_ide:
-
-Configuring an IDE
-==================
-
-We assume that you have already `cloned <https://github.com/godotengine/godot>`_
-and :ref:`compiled <toc-devel-compiling>` Godot.
-
-You can easily develop Godot with any text editor and by invoking ``scons``
-on the command line, but if you want to work with an IDE (Integrated
-Development Environment), here are setup instructions for some popular ones:
-
-- :ref:`Qt Creator <doc_configuring_an_ide_qtcreator>` (all desktop platforms)
-- :ref:`Kdevelop <doc_configuring_an_ide_kdevelop>` (all desktop platforms)
-- :ref:`Xcode <doc_configuring_an_ide_xcode>` (macOS)
-- :ref:`Visual Studio <doc_configuring_an_ide_vs>` (Windows)
-- :ref:`Visual Studio Code<doc_configuring_an_ide_vscode>` (all desktop platforms)
-- :ref:`Android Studio<doc_configuring_an_ide_android_studio>` (all desktop platforms)
-- :ref:`CLion<doc_configuring_an_ide_clion>` (all desktop platforms)
-
-It is possible to use other IDEs, but their setup is not documented yet.
-
-.. _doc_configuring_an_ide_qtcreator:
-
-Qt Creator
-----------
-
-Importing the project
-^^^^^^^^^^^^^^^^^^^^^
-
--  Choose *New Project* -> *Import Project* -> *Import Existing Project*.
-
-.. image:: img/qtcreator-new-project.png
-
--  Set the path to your Godot root directory and enter the project name.
-
-.. image:: img/qtcreator-set-project-path.png
-
--  Here you can choose which folders and files will be visible to the project. C/C++ files
-   are added automatically. Potentially useful additions: \*.py for buildsystem files, \*.java for Android development,
-   \*.mm for macOS. Click "Next".
-
-.. image:: img/qtcreator-apply-import-filter.png
-
--  Click *Finish*.
--  Add a line containing ``.`` to *project_name.includes* to get working code completion.
-
-.. image:: img/qtcreator-project-name-includes.png
-
-Build and run
-^^^^^^^^^^^^^
-
-Build configuration:
-
--  Click on *Projects* and open the *Build* tab.
--  Delete the pre-defined ``make`` build step.
-
-.. image:: img/qtcreator-projects-build.png
-
--  Click *Add Build Step* -> *Custom Process Step*.
-
-.. image:: img/qtcreator-add-custom-process-step.png
-
--  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, so you may have to
-   use the full path to the SCons binary.
--  Fill the *Arguments* field with your compilation options. (e.g.: ``p=linuxbsd target=debug -j 4``)
-
-.. image:: img/qtcreator-set-scons-command.png
-
-Run configuration:
-
--  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 game or project, point *Working directory* to the game directory.
--  If you want to run the editor, add ``-e`` to the *Command line arguments* field.
-
-.. image:: img/qtcreator-run-command.png
-
-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 etc. However, this
-brings a little 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
-experience coding in it. 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. 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. A simple click on "Ok" and you're ready to continue your work.
-
-.. image:: img/qtcreator-edit-files-dialog.png
-
-Code style configuration
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Developers must follow the project's :ref:`code style <doc_code_style_guidelines>`
-and IDE should help them to do it. By default, Qt Creator does use spaces for indentation
-which is incorrect for Godot project. You can change this behavior by
-changing the "Code Style" in *Options* -> *C++*.
-
-.. image:: img/qtcreator-options-cpp.png
-
-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
-
-.. _doc_configuring_an_ide_kdevelop:
-
-KDevelop
---------
-
-`KDevelop <https://www.kdevelop.org>`_ is a free, open source IDE for all desktop platforms.
-
-You can find a video tutorial `here <https://www.youtube.com/watch?v=yNVoWQi9TJA>`_.
-Or you may follow this text version tutorial.
-
-Start by opening KDevelop and choosing "open project".
-
-.. image:: img/kdevelop_newproject.png
-
-Choose the directory where you cloned Godot.
-
-On the next screen, choose "Custom Build System" for the *Project manager*.
-
-.. image:: img/kdevelop_custombuild.png
-
-Now that the project has been imported, open the project configuration.
-
-.. image:: img/kdevelop_openconfig.png
-
-Add the following includes/imports:
-
-.. code-block:: none
-
-    .  // 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
-
-.. image:: img/kdevelop_addincludes.png
-
-Apply the changes.
-
-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.
-
-.. image:: img/kdevelop_buildconfig.png
-
-Next we need to tell KDevelop where to find the binary.
-From the "Run" menu, choose "Configure Launches".
-
-.. image:: img/kdevelop_configlaunches.png
-
-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/`` sub-directory and should be named something like
-``godot.linuxbsd.tools.64`` (the name could be different depending on your
-platform and depending on your build options).
-
-.. image:: img/kdevelop_configlaunches2.png
-
-That's it! Now you should be good to go :)
-
-
-.. _doc_configuring_an_ide_xcode:
-
-Xcode
------
-
-Project setup
-^^^^^^^^^^^^^
-
-- Create an Xcode external build project anywhere
-
-.. image:: img/xcode_1_create_external_build_project.png
-
-- Set the *Build tool* to the path to scons
-
-Modify Build Target's Xcode Info Tab:
-
-- Set *Arguments* to something like: platform=osx tools=yes bits=64 target=debug
-- Set *Directory* to the path to Godot's source folder. Keep it blank if project is already there.
-- You may uncheck *Pass build settings in environment*
-
-.. image:: img/xcode_2_configure_scons.png
-
-Add a Command Line Target:
-
-- Go to Xcode File > New > Target... and add a new Xcode command line target
-
-.. image:: img/xcode_3_add_new_target.png
-
-.. image:: img/xcode_4_select_command_line_target.png
-
-- 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 search for *Header Search Paths*
-- Set *Header Search Paths* to an absolute path to Godot's source folder
-- Make it recursive by adding two \*'s to the end of the path
-- e.g. ``/Users/me/repos/godot-source/\**``
-
-Add Godot Source to the Project:
-
-- Drag and drop Godot source into project file browser.
-- Uncheck *Create External Build System*
-
-.. image:: img/xcode_5_after_add_godot_source_to_project.png
-
-- Click Next
-- Select *create groups*
-
-.. image:: img/xcode_6_after_add_godot_source_to_project_2.png
-
-- Check off only your command line target in the *Add to targets* section
-- Click finish. Xcode will now index the files.
-- Grab a cup of coffee... Maybe make something to eat, too
-- You should have jump to definition, auto completion, and full syntax highlighting when it is done.
-
-Scheme setup
-^^^^^^^^^^^^
-
-Edit Build Scheme of External Build Target:
-
-- Open scheme editor of 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 ``${PROJECT_DIR}`` variable.
-
-.. image:: img/xcode_7_setup_build_post_action.png
-
-- Write a script that gives the binary a name that Xcode will recognize
-- e.g. ``ln -f ${PROJECT_DIR}/godot/bin/godot.osx.tools.64 ${PROJECT_DIR}/godot/bin/godot``
-- Build the external build target
-
-Edit Run Scheme of External Build Target:
-
-- Open the scheme editor again
-- Click Run
-
-.. image:: img/xcode_8_setup_run_scheme.png
-
-- Set the *Executable* to the file you linked in your post build action script
-- Check *Debug executable* if it isn't already
-- You can go to *Arguments* tab and add an -e and a -path to a project to debug the editor
-  not the project selection screen
-
-Test it:
-
-- Set a breakpoint in platform/osx/godot_main_osx.mm
-- It should break at the point!
-
-
-.. _doc_configuring_an_ide_vs:
-
-Visual Studio
--------------
-
-Visual Studio Community is free for non-commercial use and has many useful features,
-such as memory view, performance view, source control and more.
-You can get it `from Microsoft <https://visualstudio.microsoft.com/downloads/>`__.
-
-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 that the debugger will stop, even though Godot is still running in
-          another process.
-
-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 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).
-
-To learn more about command line arguments, refer to the
-:ref:`command line tutorial <doc_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
-------------------
-
-- Ensure that C/C++ extension is installed. You can find instructions in `docs <https://code.visualstudio.com/docs/languages/cpp>`_.
-
-- Open cloned godot folder in VS Code with ``File > Open Folder...``
-
-In order to build the project, you need two configuration files: *launch.json* and *tasks.json*.
-To create them:
-
-- Open *Debug* view by pressing :kbd:`Ctrl + Shift + D` and select cogwheel with an orange dot:
-
-.. image:: img/vscode_1_create_launch.json.png
-
-- Select *C++ (GDB/LLDB)* (it might be named differently on macOS or Windows)
-
-- Update *launch.json* to match:
-
-.. image:: img/vscode_2_launch.json.png
-
-(Note that *godot.linuxbsd.tools.64* in "program" value might be named differently on macOS or Windows)
-
-- Create *tasks.json* by starting the Debug process with :kbd:`F5`. VS Code will show a dialog with a *Configure Task* button. Tap it and select *Create tasks.json file from template*, then select *Others*
-
-- Update *tasks.json* to match:
-
-.. image:: img/vscode_3_tasks.json.png
-
-(Note that *platform=linuxbsd* will be different for macOX and Windows)
-
-- 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`.
-
-
-.. _doc_configuring_an_ide_android_studio:
-
-Android Studio
---------------
-
-`Android Studio <https://developer.android.com/studio>`_ is a `JetBrains <https://www.jetbrains.com/>`_ IDE for Android development. It has a feature-rich editor which supports Java and C/C++, so it can be used for development of the Godot core engine, and Android platform codebases.
-
-Project setup
-^^^^^^^^^^^^^
-
-- From the Android Studio *Welcome to Android Studio* window, select *Open an existing Android Studio project*
-
-.. image:: img/android_studio_setup_project_1.png
-
-- Navigate to ``<godot root directory>/platform/android/java`` and select the ``settings.gradle`` gradle file.
-- Android Studio will import and index the project.
-- To build the project, follow the :ref:`compiling instructions <toc-devel-compiling>`.
-
-.. _doc_configuring_an_ide_clion:
-
-CLion
------
-
-`CLion <https://www.jetbrains.com/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 and not CMake. However, there is a ``CMakeLists.txt`` configuration for :ref:`Android Studio <doc_configuring_an_ide_android_studio>` which can also be used by CLion.
-
-- Choose *File* -> *Open*.
-
-- Navigation to your Godot Git clone, and 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*.
-
-.. image:: img/clion_1_open.png
-
-- If this popup window appears, select *This window* to open the project.
-
-.. image:: img/clion_2_this_window.png
-
-- Choose *Tools* -> *CMake* -> *Change Project Root* and select the root Godot folder.
-
-.. image:: img/clion_3_change_project_root.png
-
-- You should be now be able to see all the project files. Autocomplete should work, when the project finish indexing.

+ 21 - 0
development/cpp/configuring_an_ide/android_studio.rst

@@ -0,0 +1,21 @@
+.. _doc_configuring_an_ide_android_studio:
+
+Android Studio
+==============
+
+`Android Studio <https://developer.android.com/studio>`_ is a free
+`JetBrains <https://www.jetbrains.com/>`_ IDE for Android development.
+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**.
+
+.. image:: img/android_studio_setup_project_1.png
+
+- Navigate to ``<Godot root directory>/platform/android/java`` and select the ``settings.gradle`` gradle file.
+- Android Studio will import and index the project.
+- To build the project, follow the :ref:`compiling instructions <toc-devel-compiling>`.
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

+ 34 - 0
development/cpp/configuring_an_ide/clion.rst

@@ -0,0 +1,34 @@
+.. _doc_configuring_an_ide_clion:
+
+CLion
+=====
+
+`CLion <https://www.jetbrains.com/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 <doc_configuring_an_ide_android_studio>` which can also
+be used by CLion.
+
+- 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**.
+
+.. image:: img/clion_1_open.png
+
+- If this popup window appears, select **This Window** to open the project:
+
+.. image:: img/clion_2_this_window.png
+
+- Choose **Tools > CMake >Change Project Root** and select the root Godot folder.
+
+.. image:: img/clion_3_change_project_root.png
+
+- You should be now be able to see all the project files. Autocomplete should
+  work once the project has finished indexing.
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

BIN
development/cpp/configuring_an_ide/img/android_studio_setup_project_1.png


BIN
development/cpp/configuring_an_ide/img/clion_1_open.png


BIN
development/cpp/configuring_an_ide/img/clion_2_this_window.png


BIN
development/cpp/configuring_an_ide/img/clion_3_change_project_root.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_addincludes.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_buildconfig.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_configlaunches.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_configlaunches2.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_custombuild.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_newproject.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_openconfig.png


BIN
development/cpp/configuring_an_ide/img/kdevelop_openproject.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-add-custom-process-step.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-apply-import-filter.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-edit-codestyle.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-edit-files-dialog.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-edit-files-menu.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-new-project.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-options-cpp.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-project-name-includes.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-projects-build.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-run-command.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-set-project-path.png


BIN
development/cpp/configuring_an_ide/img/qtcreator-set-scons-command.png


BIN
development/cpp/configuring_an_ide/img/vs_1_install_cpp_package.png


BIN
development/cpp/configuring_an_ide/img/vs_2_project_properties.png


BIN
development/cpp/configuring_an_ide/img/vs_3_debug_command_line.png


BIN
development/cpp/configuring_an_ide/img/vs_4_debugging_main.png


BIN
development/cpp/configuring_an_ide/img/vscode_1_create_launch.json.png


BIN
development/cpp/configuring_an_ide/img/vscode_2_launch.json.png


BIN
development/cpp/configuring_an_ide/img/vscode_3_tasks.json.png


BIN
development/cpp/configuring_an_ide/img/xcode_1_create_external_build_project.png


BIN
development/cpp/configuring_an_ide/img/xcode_2_configure_scons.png


BIN
development/cpp/configuring_an_ide/img/xcode_3_add_new_target.png


BIN
development/cpp/configuring_an_ide/img/xcode_4_select_command_line_target.png


BIN
development/cpp/configuring_an_ide/img/xcode_5_after_add_godot_source_to_project.png


BIN
development/cpp/configuring_an_ide/img/xcode_6_after_add_godot_source_to_project_2.png


BIN
development/cpp/configuring_an_ide/img/xcode_7_setup_build_post_action.png


BIN
development/cpp/configuring_an_ide/img/xcode_8_setup_run_scheme.png


+ 23 - 0
development/cpp/configuring_an_ide/index.rst

@@ -0,0 +1,23 @@
+Configuring an IDE
+==================
+
+We assume that you have already `cloned <https://github.com/godotengine/godot>`_
+and :ref:`compiled <toc-devel-compiling>` Godot.
+
+You can easily develop Godot with any text editor and by invoking ``scons``
+on the command line, but if you want to work with an IDE (Integrated
+Development Environment), here are setup instructions for some popular ones:
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-devel-configuring_an_ide
+
+   android_studio
+   clion
+   kdevelop
+   qt_creator
+   visual_studio_code
+   visual_studio
+   xcode
+
+It is possible to use other IDEs, but their setup is not documented yet.

+ 58 - 0
development/cpp/configuring_an_ide/kdevelop.rst

@@ -0,0 +1,58 @@
+.. _doc_configuring_an_ide_kdevelop:
+
+KDevelop
+========
+
+`KDevelop <https://www.kdevelop.org>`_ is a free, open source IDE for all desktop platforms.
+
+Start by opening KDevelop and choosing **Open Project**.
+
+.. image:: img/kdevelop_newproject.png
+
+Choose the directory where you cloned Godot.
+
+On the next screen, choose **Custom Build System** for the **Project Manager**.
+
+.. image:: img/kdevelop_custombuild.png
+
+Now that the project has been imported, open the project configuration.
+
+.. image:: img/kdevelop_openconfig.png
+
+Add the following includes/imports:
+
+.. code-block:: none
+
+    .  // 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
+
+.. image:: img/kdevelop_addincludes.png
+
+Apply the changes.
+
+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.
+
+.. image:: img/kdevelop_buildconfig.png
+
+Next, we need to tell KDevelop where to find the binary.
+From the **Run** menu, choose **Configure Launches**.
+
+.. image:: img/kdevelop_configlaunches.png
+
+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).
+
+.. image:: img/kdevelop_configlaunches2.png
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

+ 105 - 0
development/cpp/configuring_an_ide/qt_creator.rst

@@ -0,0 +1,105 @@
+.. _doc_configuring_an_ide_qtcreator:
+
+Qt Creator
+==========
+
+Qt Creator is a free, open source IDE for all desktop platforms.
+
+Importing the project
+---------------------
+
+- Choose **New Project > Import Project > Import Existing Project**.
+
+.. image:: img/qtcreator-new-project.png
+
+- Set the path to your Godot root directory and enter the project name.
+
+.. image:: img/qtcreator-set-project-path.png
+
+- Here you can choose which folders and files will be visible to the project.
+  C/C++ files are added automatically. Potentially useful additions:
+  ``*.py`` for buildsystem files, ``*.java`` for Android platform development,
+  ``*.mm`` for macOS platform development. Click **Next**.
+
+.. image:: img/qtcreator-apply-import-filter.png
+
+- Click **Finish**.
+- Add a line containing ``.`` to ``project_name.includes`` to get working
+  code completion.
+
+.. image:: img/qtcreator-project-name-includes.png
+
+Build and run
+--------------
+
+Build configuration:
+
+- Click on **Projects** and open the **Build** tab.
+- Delete the predefined ``make`` build step.
+
+.. image:: img/qtcreator-projects-build.png
+
+-  Click **Add Build Step > Custom Process Step**.
+
+.. image:: img/qtcreator-add-custom-process-step.png
+
+- 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``).
+
+.. image:: img/qtcreator-set-scons-command.png
+
+Run configuration:
+
+- 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.
+
+.. image:: img/qtcreator-run-command.png
+
+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
+
+Code style configuration
+------------------------
+
+Developers must follow the project's :ref:`code style <doc_code_style_guidelines>`
+and the IDE should help them follow it. By default, Qt Creator does use 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
+
+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
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

+ 64 - 0
development/cpp/configuring_an_ide/visual_studio.rst

@@ -0,0 +1,64 @@
+.. _doc_configuring_an_ide_vs:
+
+Visual Studio
+=============
+
+Visual Studio Community is a Windows-only IDE 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 <https://visualstudio.microsoft.com/downloads/>`__.
+
+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 that the debugger will stop, even though Godot is still running in
+          another process.
+
+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 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).
+
+To learn more about command line arguments, refer to the
+:ref:`command line tutorial <doc_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
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

+ 49 - 0
development/cpp/configuring_an_ide/visual_studio_code.rst

@@ -0,0 +1,49 @@
+.. _doc_configuring_an_ide_vscode:
+
+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 <https://code.visualstudio.com/>`__.
+
+
+- Make sure the C/C++ extension is installed. You can find instructions in
+  the `documentation <https://code.visualstudio.com/docs/languages/cpp>`_.
+- Open the cloned Godot folder in Visual Studio Code with
+  **File > Open Folder...**.
+
+In order to build the project, you need two configuration files:
+``launch.json`` and ``tasks.json``. To create them:
+
+- Open the **Debug** view by pressing :kbd:`Ctrl + Shift + D` and select the
+  cogwheel with an orange dot:
+
+.. image:: img/vscode_1_create_launch.json.png
+
+- Select **C++ (GDB/LLDB)** (it might be named differently on macOS or Windows).
+
+- Update ``launch.json`` to match:
+
+.. image:: img/vscode_2_launch.json.png
+
+If you're following this guide on macOS or Windows, you will have to adjust
+``godot.linuxbsd.tools.64`` accordingly.
+
+- 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**.
+
+- Update ``tasks.json`` to match:
+
+.. image:: img/vscode_3_tasks.json.png
+
+If you're following this guide on macOS or Windows, you will have to adjust
+``platform=linuxbsd`` accordingly.
+
+- 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`.
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

+ 95 - 0
development/cpp/configuring_an_ide/xcode.rst

@@ -0,0 +1,95 @@
+.. _doc_configuring_an_ide_xcode:
+
+Xcode
+=====
+
+Xcode is a free macOS-only IDE. You can download it from the Mac App Store.
+
+Project setup
+-------------
+
+- Create an Xcode external build project anywhere.
+
+.. image:: img/xcode_1_create_external_build_project.png
+
+Go to the build target's **Info** tab, then:
+
+- 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**.
+
+.. image:: img/xcode_2_configure_scons.png
+
+Add a Command Line Tool target which will be used for indexing the project:
+
+- In Xcode's menu, choose **File > New > Target...** and add a new Xcode
+  command line tool target.
+
+.. image:: img/xcode_3_add_new_target.png
+
+.. image:: img/xcode_4_select_command_line_target.png
+
+- 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/**``.
+
+Add the Godot source to the project:
+
+- Drag and drop Godot source into the project file browser.
+- Uncheck **Create external build system project**.
+
+.. image:: img/xcode_5_after_add_godot_source_to_project.png
+
+- Click **Next**.
+- Select **Create groups**.
+
+.. image:: img/xcode_6_after_add_godot_source_to_project_2.png
+
+- 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.
+- Once Xcode is done indexing, you should have jump-to-definition,
+  autocompletion, and full syntax highlighting.
+
+Scheme setup
+------------
+
+To enable debugging support, edit the external build target's build scheme:
+
+- 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.
+
+.. image:: img/xcode_7_setup_build_post_action.png
+
+- 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.
+- Click **Run**.
+
+.. image:: img/xcode_8_setup_run_scheme.png
+
+- 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).
+
+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.
+
+If you run into any issues, ask for help in one of
+`Godot's community channels <https://godotengine.org/community>`__.

BIN
development/cpp/img/android_studio_setup_project_1.png


BIN
development/cpp/img/clion_1_open.png


BIN
development/cpp/img/clion_2_this_window.png


BIN
development/cpp/img/clion_3_change_project_root.png


BIN
development/cpp/img/kdevelop_addincludes.png


BIN
development/cpp/img/kdevelop_buildconfig.png


BIN
development/cpp/img/kdevelop_configlaunches.png


BIN
development/cpp/img/kdevelop_configlaunches2.png


BIN
development/cpp/img/kdevelop_custombuild.png


BIN
development/cpp/img/kdevelop_newproject.png


BIN
development/cpp/img/kdevelop_openconfig.png


BIN
development/cpp/img/kdevelop_openproject.png


BIN
development/cpp/img/qtcreator-add-custom-process-step.png


BIN
development/cpp/img/qtcreator-apply-import-filter.png


BIN
development/cpp/img/qtcreator-edit-codestyle.png


BIN
development/cpp/img/qtcreator-edit-files-dialog.png


BIN
development/cpp/img/qtcreator-edit-files-menu.png


BIN
development/cpp/img/qtcreator-new-project.png


BIN
development/cpp/img/qtcreator-options-cpp.png


BIN
development/cpp/img/qtcreator-project-name-includes.png


BIN
development/cpp/img/qtcreator-projects-build.png


BIN
development/cpp/img/qtcreator-run-command.png


BIN
development/cpp/img/qtcreator-set-project-path.png


BIN
development/cpp/img/qtcreator-set-scons-command.png


BIN
development/cpp/img/vs_1_install_cpp_package.png


BIN
development/cpp/img/vs_2_project_properties.png


BIN
development/cpp/img/vs_3_debug_command_line.png


BIN
development/cpp/img/vs_4_debugging_main.png


BIN
development/cpp/img/vscode_1_create_launch.json.png


BIN
development/cpp/img/vscode_2_launch.json.png


BIN
development/cpp/img/vscode_3_tasks.json.png


BIN
development/cpp/img/xcode_1_create_external_build_project.png


BIN
development/cpp/img/xcode_2_configure_scons.png


BIN
development/cpp/img/xcode_3_add_new_target.png


BIN
development/cpp/img/xcode_4_select_command_line_target.png


BIN
development/cpp/img/xcode_5_after_add_godot_source_to_project.png


BIN
development/cpp/img/xcode_6_after_add_godot_source_to_project_2.png


BIN
development/cpp/img/xcode_7_setup_build_post_action.png


BIN
development/cpp/img/xcode_8_setup_run_scheme.png


+ 1 - 1
development/cpp/index.rst

@@ -6,7 +6,7 @@ Engine development
    :name: toc-devel-cpp
    :name: toc-devel-cpp
 
 
    introduction_to_godot_development
    introduction_to_godot_development
-   configuring_an_ide
+   configuring_an_ide/index
    core_types
    core_types
    variant_class
    variant_class
    object_class
    object_class