Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Xcode

Xcode 是僅可用於 macOS 的免費 IDE。可以從 Mac App Store 中下載。

匯入專案

  • 從 Xcode 的主畫面中通過 Other > External Build System 樣板來建立新專案。

../../../_images/xcode_1_create_external_build_project.webp
  • 現在為您的專案選擇名稱,並在建置工具中設定 scons 執行檔的路徑(要尋找路徑,您可以在終端機中鍵入「where scons」)。

../../../_images/xcode_2_set_external_build_project_parameters.webp
  • Targets 段落中開啟建構目標,並選擇 Info 分頁。

../../../_images/xcode_3_configure_scons.webp
  • 填寫下列設定:

    參數

    有關完整的參數列表,請參考 建置系統簡介

    Directory

    Godot 根目錄的完整路徑

  • 選擇 File > New > Target... 來新增一個用於對專案進行索引的 Command Line Tool 目標。

../../../_images/xcode_4_add_new_target.webp
  • 選擇 OS X > Application > Command Line Tool

../../../_images/xcode_5_select_command_line_target.webp

備註

請為該建置目標命名,這樣才能分辨出該建置目標不是要用來編譯的 (如 GodotXcodeIndex)。

  • 開啟該建置目標的 Build Settings 分頁,並找到 Header Search Paths

  • Header Search Paths 設為 Godot 根目錄的絕對路徑。也需要包含子資料夾。要包含子資料夾,請在路徑的結尾新增兩個星號 (**) ,如 /Users/me/repos/godot-source/**

  • 將 Godot 原始碼拖放到專案檔案瀏覽器中來將這些檔案新增至專案中。

  • 接下來,選擇 Added folders 選項中的 Create groups ,然後請檢查 Add to targets 中應該 包含命令行索引建置目標。

../../../_images/xcode_6_after_add_godot_source_to_project.webp
  • Xcode 接著會開始索引檔案。會需要花一點時間。

  • Xcode 索引完成後,就可以使用跳至定義 (Jump-to-Definition) 功能、自動補全、以及完整的語法醒目提示功能。

對專案進行除錯

若要啟用除錯功能,則需要編輯外部建置目標的建置並執行 Scheme。

  • 開啟外部建置目標的 Scheme 編輯器。

  • 移至 Build > Post Actions 部分。

  • 新增一個新的腳本執行動作

  • Provide build settings from 中選擇專案。這樣一來便可以在腳本中參照到專案資料夾。

  • 建立用來提供 Xcode 可識別之二進位檔名稱的腳本,如:

ln -f ${PROJECT_DIR}/godot/bin/godot.macos.tools.64 ${PROJECT_DIR}/godot/bin/godot
../../../_images/xcode_7_setup_build_post_action.webp
  • 建置外部建置目標。

  • 再次開啟 Scheme 編輯器,然後選擇 Run

../../../_images/xcode_8_setup_run_scheme.webp
  • Executable 設為連結到 post-build 操作腳本的檔案。

  • 勾選 Debug executable

  • 可以在 Arguments 分頁中新增兩個參數:用於開啟編輯器而非專案管理員的 -e 旗標,以及用於告訴編輯器要開啟哪個特定專案的 --path 參數 (必須提供專案根目錄的 絕對 路徑,而非 project.godot 檔案)。

要檢查是否一切正常,請在 platform/osx/godot_main_osx.mm 中新增一個斷點,並執行專案。

若遇到任何問題,請在 任何一個 Godot 的社群頻道 中尋求幫助。