【UE5】.editorconfigを用意して文字化けを回避したりコメント形式を統一する方法

プログラマーの尾関です。

今回は「.editorconfig」というファイルを作ると、コメント形式やソースコードの文字コードを統一できて便利なので、その方法について紹介します。

コメント形式の統一方法

公式のコーディング規約によると、JavaDoc形式のコメントが推奨されています

Epic では JavaDoc に基づいたシステムを使用し、コードから自動的にコメントを抽出してドキュメントを作成します。
そのため、特定のコメント形式に関するルールを推奨します。

具体的には以下のようなコメントです。

	/**
	 * @brief 見た目上のレイを飛ばす
	 * @param gripController 右か左かグリップ部分のコントローラー
	 * @param aimController 右か左かエイム部分のコントローラー
	 * @param laser レイの表示を表現するためのNiagara
	 * @param distance レイを飛ばす距離
	 * @param rayPosition レイの始点と終点をまとめた構造体
	 */
	UFUNCTION(BlueprintCallable, Category = "CPPLaser")
	static void ShowLaser(UMotionControllerComponent* gripController, UMotionControllerComponent* aimController, UNiagaraComponent* laser, float distance, FRayPosition& rayPosition);

ただ、この形式で毎回入力するのは少し手間です。そこでVisual Studioのコメントの生成機能をカスタマイズします。

まずはメニューから「ツール > オプション」を選択します。

テキストエディタ > C/C++ > コードスタイル > 全般」から「Doxygen /**」を選択。

これで関数や変数の定義の上で「/**」と入力することで、Javadoc (Doxygen /**) コメントを自動挿入できるようになります。

このようにコメントを入れてみました。

このコメント形式で記述することで、Blueprint側でもコメントがわかりやすく表示されて便利です。

.editorconfigファイルを出力する

この設定を別の開発者と共有できるようにします。「設定から .editorconfigファイルを生成」をクリック。

出力先を指定するダイアログが表示されるので、任意のフォルダを選びます。

後は *.sln ファイルがある場所と同じ場所に ".editorconfig" ファイルを配置して共有します。

Information

*.sln や .vs など Visual Studioに関連するファイルは通常共有しません。

ただ、.editorconfig だけはバージョン管理に含めて共有します。

Unreal Engineのエディターから生成するC++の文字コードを「UTF-8 BOM付き」にする

ツール > 新規C++クラス」で作成したクラスは、通常「Shift-JIS」の文字コードで出力されてしまいます。

このソースコードをビルドすると、Unreal Engineのエディタ上で日本語(マルチバイト文字)が文字化けしてしまいます。

そのため通常は毎回文字コードを変更して保存する…という手間が発生しますが、.editorconfig の設定でそれを回避できます。

.editorconfig を開いて、"end_of_line" を "crlf"、"charset" を "utf-8-bom" に設定します。

# Visual Studio で、C++ の設定で .editorconfig ファイルが生成されました。
root = true

[*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]

# Visual C++ コード スタイルの設定
end_of_line = crlf
charset = utf-8-bom

cpp_generate_documentation_comments = doxygen_slash_star

# Visual C++ の書式設定
...

これで生成されるクラスのソースコードが UTF-8 BOM付きとなります。

Follow me!