LoginSignup
0
0

Unityのスクリプトテンプレートを変更してデフォルトのインデント数を変える

Posted at

C#のインデントはデフォルトで4っぽい

最近Unityで遊び始めました。
C#スクリプトのコーディングをする際はVSCodeを使用しています。

私はVSCodeの設定にてインデント数を2に設定しているのですが、Unityから作成したC#スクリプトはデフォルトのインデント数が4になっていました。
C#では4を用いるのが一般的…なんでしょうか?

とにかく私は2が好みでしたので、一度Shift+Tabで全てのインデントを消し、Tabでもう一度インデントを空けたところ…
なぜか4のインデントがされる…なぜ?

仕方ないのでファイルを一回消して、VSCode上から作り直したC#スクリプトから書き直しました。VSCodeから作成した同じ名前のC#スクリプトでは、無事にVSCodeの設定が適用されているようで、インデント数は2で書くことができました。

いちいちVSCode上で新規C#ファイルを作成し、本来なら自動生成されるはずのScriptテンプレートも手打ちしていくのは面倒。しかしインデント4はなんか嫌だなぁ…できれば変更したい。

スクリプトテンプレート

生成された瞬間のインデント数を変えられないかな~と調べたところ、以下の記事を見つけました。

UnityEditorのインストールディレクトリ(Windowsの場合C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates)内にある、81-C# Script-NewBehaviourScript.cs.txtを変更すれば良いらしいです。

他のスクリプトテンプレートも自由に変更できるようですが、Assetsの作成でC#スクリプトを追加している分にはこの81だけ変えれば良いっぽいですね。

81-C# Script-NewBehaviourScript.cs.txt(デフォルト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

    #ROOTNAMESPACEBEGIN#
public class #SCRIPTNAME# : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        #NOTRIM#
    }

    // Update is called once per frame
    void Update()
    {
        #NOTRIM#
    }
}
#ROOTNAMESPACEEND#

たしかに4文字インデントになっています。
以下のような2文字インデントに変えちゃいましょう。

81-C# Script-NewBehaviourScript.cs.txt(変更後)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

  #ROOTNAMESPACEBEGIN#
public class #SCRIPTNAME# : MonoBehaviour
{
  // Start is called before the first frame update
  void Start()
  {
    #NOTRIM#
  }

  // Update is called once per frame
  void Update()
  {
    #NOTRIM#
  }
}
#ROOTNAMESPACEEND#

保存してもう一度UnityからC#スクリプトを作成してみます。
VSCodeで開いたところ、無事にインデント数を2にして編集できるようになっていました。

こんなことしてるけど正しいのか?

VSCode上で「開いたファイルのインデント数に合わせて空気を読む」みたいな設定がありそうだなぁ~とは思いつつ、それを変更すると他の場面で面倒なことになりそうだなぁ~とか考えてやりませんでした。

そもそもJavaとかC#みたいなのはインデント数4でやるのがお作法なんでしょうか??
見にくい気がして私は嫌なんですよね、4って。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0