EditorWindow上のボタンを押した時に、パス指定したファイルをVisual Studioで開くサンプル。
デフォルトのエディタがMonoDevelopならMonoDevelopで開くかも(未確認)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using UnityEngine; using UnityEditor; public class TestWin : EditorWindow { [MenuItem("Test/TestWin")] public static void Open() { GetWindow<TestWin>(); } void OnGUI() { GUILayout.Space(10); if (GUILayout.Button("Open File", GUILayout.Width(150))) { Object o = AssetDatabase.LoadAssetAtPath("Assets/Test.cs", typeof(Object)) as Object; if (o != null) { // ファイルを選択(Projectウィンドウでファイルが選択状態になる) Selection.activeObject = o; // ファイルを開く(Visual Studioでファイルが開く) AssetDatabase.OpenAsset(o); } } } } |
最初、OpenFileAtLineExternal()で出来るかと思ったが、何故かファイルがMonoDevelopで開いてしまった。
OpenFileAtLineExternal() だとMonoDevelopが立ち上がってファイルが開いてしまう… Visual Studioで開くにはどうすればいいんだろ?#unity3d #エディタ拡張
— ナルデザイン (@narudesign_dev) February 6, 2017