【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" ファイルを配置して共有します。

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付きとなります。