今からでも間に合う

技術を学ぶのは今からでも遅くない

VS拡張(VSIX)を試してみる

VSIXのプロジェクトを作成し、Visual Studio自体を操作してみる。

環境

  • Visual Studio 2022 Community
  • .NET 6.0 WinForms

コード

EnvDTEを使ったらいろいろできそう。

初期化部

        private DTE2 _dte;

        public static async Task InitializeAsync(AsyncPackage package)
        {
            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(package.DisposalToken);
  
            OleMenuCommandService commandService = await package.GetServiceAsync(typeof(IMenuCommandService)) as OleMenuCommandService;
            Instance = new SampleCommand(package, commandService);
  
            Instance._dte = await Instance.ServiceProvider.GetServiceAsync(typeof(DTE)) as DTE2;
        }

アクセス部

        private void Execute(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
  
            // デザイナファイルにアクセスするためのインターフェースを取得する
            var host = _dte.ActiveWindow.Object as IDesignerHost;
  
            // アクティブなドキュメントが属しているプロジェクトを取得する
            var proj = _dte.ActiveDocument.ProjectItem.ContainingProject;
  
            // ソリューションエクスプローラーをアクティブにする
            _dte.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate();
        }

ドキュメントやWEB情報が充実しているわけではなさそうなのでこれからまたいろいろ調べていく。

プライバシーポリシー


d払いポイントGETモール