Unity Cursor(Vscode)連携

## 内容
UnityでCursorを使用するための設定をまとめる。
CursorはVsCodeのフォークなのでVsCodeで設定するときも同じ。
## Corsorをデフォルト編集アプリに設定
Preferences>ExternalTools>External Script Editor>Browse

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/0baed459-dcbb-318f-8375-051c738c4e79.png)
パスは各自設定。
Desktop\AppData\Local\Programs\cursor\Cursor.exe
Cursor.exe設定する。

## ファイルテンプレート
拡張機能を利用
File Templates
https://github.com/brpaz/vscode-file-templates-ext
似た名前のがあるので注意

### 使い方
以下私のテンプレ、新規ファイル作成してコピペ
```
using System.Collections;

using UnityEngine;
using UnityEditor;

using Assets.MyScripts.BaseUtil;
using NXLab.Base;

namespace NXLab.Base.#{filename}
{
#if UNITY_EDITOR
    [CustomEditor(typeof(#{filename}))]
    public class #{filename}Editor : Editor
    {
        public override void OnInspectorGUI()
        {
            var helpTxt = "ヘルプ情報";
            EditorGUILayout.HelpBox(helpTxt, MessageType.None);

            //元のInspectorを表示
            base.OnInspectorGUI();
            //スペースを追加
            GUILayout.Space(20);

        }
    }
# endif
    /// <summary>
    /// #{filename}
    /// </summary>
    public class #{filename} : UnityBaseUtil
    {
        private Game_PM game_PM;
        public override void Init()
        {
            game_PM = Resources.Load<Game_PM>("Game_PM");
        }
        public override void CycleSt()
        {

        }
        public override void CycleDisp()
        {

        }
        private void OnGUI()
        {
#if DEBUG
            if (game_PM.EnDebagModeDisp == EN_DEBAG_MODE.None)
            {
            }
#endif
        }
    }
}
```
右クリックから>newTemplate

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/42a725d1-296c-94a1-8b8a-579db462ed44.png)

パスは各自
Desktop\AppData\Roaming\Code\User\FileTemplates
に追加される

これを使用するときは
エクスプローラー右クリック
newFile from template
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/ccfc2b04-4972-246e-ee0c-e4df79f3233a.png)

使うテンプレ選択>名前をいれる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/6ccaf8f2-7707-78f1-49e6-5e21203c8813.png)
作成される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/8ba6bf23-98b3-24e7-689f-b8ca868d2f2d.png)
### マクロ
#{filename}
これはファイル名としてつかえる。ほかにもマクロはありそうだがよくわからん。


## デバッグ
通常ファイルをひらくとフォルダを選択になる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/3f896bd7-2641-1d51-6e54-338072e7a7c2.png)
フォルダを選択でAssetsフォルダを開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/7d577437-7880-69a6-3cd7-6f7dc7d2df02.png)
ここでワークスペースを保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/696398b2-1444-977b-a8f1-758e3a5ccf62.png)

あとはVSCodeと同様にデバックできるようになる。

ファイルをクリックしたときにワークスペースを開く設定はまだわからん。



## アクティブバー、サイドバーをカスタム
VSCodeのようにサイドバーをカスタムするにはアクティブバーを縦にする必要がある
command + ,で設定
Activity Barで検索

Activiti Bar: Orientationの設定をVertical
Activity Bar: Locationの設定をside
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/4d1e0c4c-7bf0-e94c-c1cc-f44dc7570bab.png)

これでスライドバーをつかんでアクティブバーへ移動、
アクティブバーが切り替わるのでスライドバーを挿入できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/2e2da797-6ca9-dec3-1541-f615a8b4e888.png)

スライドバーがカスタムできる。

## タブを自動でそろえる
ctrl+ , から設定
format on paste
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/4027adb9-54e9-b027-6437-728ffee40681.png)

## Unity上のスクリプトクリックで自動でワークスペース、エラーログクリックでエラーの位置に飛ぶ
コマンドライン引数を設定する。
パスはworkspaceを作った場所。
```
"$(ProjectPath)" -r -g "$(File)":$(Line):$(Column)
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/076be68a-3e70-d91e-ebb3-93bfb09fdd4b.png)



## 参考サイト

https://zenn.dev/ik_takagishi/articles/e4b1123e1c4713


## 追記
20240426
コマンドライン引数を汎用性のあるものに変更