* feat(controller): 集成 MaaWin32ControlUnit 支持 Win32 窗口截图与控制 - 提取公共滑动插值逻辑到 SwipeHelper.hpp,重构 Minitouch/PlayTools 控制器 - 新增 Win32ControlUnitLoader 动态加载 MaaWin32ControlUnit.dll - 新增 Win32Controller 实现 ControllerAPI,适配 touch_down/move/up 接口 - 添加 AsstAsyncAttachWindow 公开 API 用于绑定 Win32 窗口 - 添加 Win32 截图/输入方式的类型定义和枚举常量 * feat(api): 增加同步版本的 AsstAttachWindow 接口 模仿 AsstConnect 实现同步绑定 Win32 窗口的接口,方便简单场景下直接调用。 该接口标记为 deprecated,建议使用异步版本 AsstAsyncAttachWindow。 * fix: can build MaaCore * feat: 完成整体适配 * feat(ci): 添加 MaaFramework Win32ControlUnit 下载步骤 使用 robinraju/release-downloader 从 MaaFramework 最新 release 下载 win-x64 版本并提取 MaaWin32ControlUnit 到构建产物中 * docs: 添加 Win32Controller 调试所需 MaaWin32ControlUnit 的说明 在开发文档的环境配置步骤中说明调试 Win32Controller 需要手动下载 MaaWin32ControlUnit.dll,并欢迎社区贡献自动下载脚本 * fix(i18n): 修改 UseAttachWindowWarning 措辞为"仅供尝鲜" * fix: 小细节修复 * ci: fix maafw filename * feat: PC 移至连接配置 * feat: 调整描述 * chore: 调整 PC 在连接配置中的顺序 * feat: 设置指引和开始唤醒界面 PC 选项绑定 --------- Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
8.5 KiB
order, icon
| order | icon |
|---|---|
| 1 | iconoir:developer |
開発ガイド
::: tip 本ページは主に PR プロセスおよび MAA のファイルフォーマット要件について説明します。MAA の実行ロジックを変更する具体的な方法については、プロトコル文書を参照してください。 :::
::: tip DeepWiki に質問して、MAA プロジェクトの全体的なアーキテクチャを概要的に理解することができます。 :::
プログラミングの仕方がわからないので、JSONファイルやドキュメントなどを少し変更したいのですが、どうすればいいですか?
「パラスちゃん」も理解できるGitHubのPull Requestの使用ガイドへようこそ(純WebサイトのPRチュートリアル)
数行のコードを少しだけ変更したいが、環境設定が面倒。純粋なWeb編集も使いにくい。どうすればよいですか?
GitHub Codespacesオンライン開発環境をご利用ください!
次のような、異なる開発環境を事前に準備しています:
-
空白環境(裸のLinuxコンテナ)(デフォルト)
-
軽量環境:ドキュメントサイトのフロントエンド開発に適している
-
完全環境:MAA Core関連の開発に適している(使用は推奨しません。ローカル開発を推奨します。関連環境を完全に設定。次のセクションを参照)
完全な環境セットアップ(Windows)
-
かなり前にフォークした場合は、まず自分のリポジトリの
Settingsの一番下で削除します -
MAA メインリポジトリを開き、
Fork→Create forkをクリック -
自身のリポジトリの dev ブランチをクローン(サブモジュール含む)
git clone --recurse-submodules <リポジトリの git リンク> -b dev::: warning Visual Studio など
--recurse-submodulesパラメータに対応していない Git GUI を使用する場合、クローン後に以下を実行:git submodule update --init:::
-
事前ビルド済みサードパーティライブラリのダウンロード
Python環境が必要(インストール方法は各自検索)
(tools/maadeps-download.py はプロジェクトルートに配置)python tools/maadeps-download.py -
開発環境の設定
CMakeをダウンロードしてインストールVisual Studio 2026 Communityをインストール時、C++ によるデスクトップ開発と.NET デスクトップ開発を選択必須
-
cmake プロジェクト設定を実行
mkdir -p build cmake -G "Visual Studio 18 2026" -B build -DBUILD_WPF_GUI=ON -DBUILD_DEBUG_DEMO=ON -
build/MAA.slnxをダブルクリックで開き、Visual Studio にプロジェクトを自動ロード -
VS の設定
- 上部設定バーで
Debugx64を選択 MaaWpfGui右クリック → スタートアップ プロジェクトに設定- F5 キーを押して実行
::: tip Win32Controller(Windows ウィンドウ制御)関連機能をデバッグする場合は、MaaFramework Releases から対応プラットフォームのアーカイブをダウンロードし、
binディレクトリ内のMaaWin32ControlUnit.dllを MAA の DLL と同じディレクトリ(例:build/bin/Debug)に配置してください。自動ダウンロードスクリプトの PR 歓迎! ::: - 上部設定バーで
-
これで自由に
改造開発を始められます -
一定量の変更ごにコミット(メッセージ記入必須)
Git 未経験者は dev ブランチ直接変更ではなく新規ブランチ作成推奨:
git branch your_own_branch
git checkout your_own_branch
これで dev の更新影響を受けずに開発可能
-
開発完了後、変更をリモートリポジトリへプッシュ:
git push origin dev -
MAA メインリポジトリ で Pull Request を提出(master ではなく dev ブランチを指定)
-
上流リポジトリの更新を同期する場合:
-
上流リポジトリを追加:
git remote add upstream https://github.com/MaaAssistantArknights/MaaAssistantArknights.git -
更新を取得:
git fetch upstream -
リベース(推奨)またはマージ:
git rebase upstream/devまたは
git merge -
ステップ8、9、10、11 を繰り返し
-
::: tip Visual Studio 起動後、Git 操作は「Git 変更」画面からコマンドライン不要で可能 :::
MAAのファイルフォーマット要件
MAAは、リポジトリ内のコードとリソースファイルが美しく統一されるよう、一連のフォーマットツールを使用してメンテナンスと読み取りを容易にしています。
提出する前にフォーマットするか、またはPre-commit Hooksを使用してコードを自動フォーマットしてください。
現在有効になっているフォーマットツールは次のとおりです:
| ファイルタイプ | フォーマットツール |
|---|---|
| C++ | clang-format |
| Json/Yaml | Prettier |
| Markdown | markdownlint |
Pre-commit Hooksを使用してコードを自動フォーマット
-
コンピュータにPython環境とNode環境があることを確認してください。
-
プロジェクトのルートディレクトリで次のコマンドを実行します:
pip install pre-commit pre-commit install
pipインストール後もPre-commitを実行できない場合は、PIPインストールパスがPATHに追加されていることを確認してください。
次に、提出するたびにフォーマットツールが自動的に実行され、コード形式がスタイルガイドに準拠していることを確認します。
Visual Studioでclang-formatを有効にする
-
clang-format バージョン20.1.0以上をインストールします。
python -m pip install clang-format -
'Everything'などのツールを使用して、clang-format.exeのインストール場所を見つけます。参考までに、Anacondaを使用している場合、clang-format.exeはYourAnacondaPath/Scripts/clang-format.exeにインストールされます。
-
Visual Studioで、 Tools-Optionsで 'clang-format'を検索します。
-
clang-formatサポートを有効にするをクリックし、下のカスタムのclang-format.exeファイルを使用するを選択し、最初取得したclang-format.exeを選択します。
そうすれば、 Visual Studio は c++20 構文をサポートする clang-format を問題なく使用できます!
tools\ClangFormatter\clang-formatter.py を使用して、clang-formatを直接呼び出して書式設定することもできます。プロジェクトのルートディレクトリで
python tools\ClangFormatter\clang-formatter.py --clang-format=PATH\TO\YOUR\clang-format.exe --input=src\MaaCore
を実行するだけです。
