none
Visual Studio 2017のアドイン作成について RRS feed

  • 質問

  • タイトルの通り、Visual Studio 2017 Pro/communityについて、アドイン作成方法はどのように行うのでしょうか。

    以前は以下サイトのようにVS Packageを使用してメニューを作ることができましたが、最新環境では方法がわかりませんでした。

    http://qiita.com/ko2ic/items/c59b0c557f8160bef4da

    2017年3月19日 16:41

回答

    1. VS2017インストールで「VisualStudio拡張機能の開発」をインストールしておく
    2. VS2017起動
    3. 「ファイル->新規作成->プロジェクト->インストール済み->テンプレート->Visual C# (VB)->Extensibility->VSIX Project」を作成
    4. ソリューションエクスプローラでプロジェクト選択
    5. 「プロジェクト->新しい項目の追加->Visual C#アイテム->Extensibility->VSPackage->Visual Studio Package」を追加
    6. メニューに項目を追加したいなら「プロジェクト->新しい項目の追加->Visual C#アイテム->Extensibility->VSPackage->Custom Command」を追加
    7. プロジェクトに追加された*.vsixmanifestを開いてMetadataなどを編集する
    8. Packageクラスを継承したクラスを探して自動起動設定や初期化処理のコードを追記する
    //自動的に読み込ませたいならProvideAutoLoad属性をPackageに追加する
    [ProvideAutoLoad(UIContextGuids.CodeWindow)]
    [ProvideAutoLoad(UIContextGuids.SolutionExists)]
    [ProvideAutoLoad(UIContextGuids.NoSolution)]
    [ProvideAutoLoad(UIContextGuids.EmptySolution)]
    public sealed class VSPackage1 : Package
    {
        public const string PackageGuidString = "********-****-****-****-************";//自動でGUIDは設定される
    
        public VSPackage1()
        {            
        }
    
        #region Package Members
    
        private EnvDTE80.DTE2 _DTE;
    
        protected override void Initialize()
        {
            base.Initialize();
            Command1.Initialize(this); //メニュー追加すると追加されるコード
    
            //昔のアドインのように作りたいならEnvDTEからアクセス
            _DTE = base.GetService(typeof(EnvDTE.DTE)) as EnvDTE80.DTE2;
        }
    
        #endregion
    }

    #Micro Frameworkフォーラムはほとんど誰も見ていないんじゃないかな


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2017年3月22日 9:45

すべての返信

    1. VS2017インストールで「VisualStudio拡張機能の開発」をインストールしておく
    2. VS2017起動
    3. 「ファイル->新規作成->プロジェクト->インストール済み->テンプレート->Visual C# (VB)->Extensibility->VSIX Project」を作成
    4. ソリューションエクスプローラでプロジェクト選択
    5. 「プロジェクト->新しい項目の追加->Visual C#アイテム->Extensibility->VSPackage->Visual Studio Package」を追加
    6. メニューに項目を追加したいなら「プロジェクト->新しい項目の追加->Visual C#アイテム->Extensibility->VSPackage->Custom Command」を追加
    7. プロジェクトに追加された*.vsixmanifestを開いてMetadataなどを編集する
    8. Packageクラスを継承したクラスを探して自動起動設定や初期化処理のコードを追記する
    //自動的に読み込ませたいならProvideAutoLoad属性をPackageに追加する
    [ProvideAutoLoad(UIContextGuids.CodeWindow)]
    [ProvideAutoLoad(UIContextGuids.SolutionExists)]
    [ProvideAutoLoad(UIContextGuids.NoSolution)]
    [ProvideAutoLoad(UIContextGuids.EmptySolution)]
    public sealed class VSPackage1 : Package
    {
        public const string PackageGuidString = "********-****-****-****-************";//自動でGUIDは設定される
    
        public VSPackage1()
        {            
        }
    
        #region Package Members
    
        private EnvDTE80.DTE2 _DTE;
    
        protected override void Initialize()
        {
            base.Initialize();
            Command1.Initialize(this); //メニュー追加すると追加されるコード
    
            //昔のアドインのように作りたいならEnvDTEからアクセス
            _DTE = base.GetService(typeof(EnvDTE.DTE)) as EnvDTE80.DTE2;
        }
    
        #endregion
    }

    #Micro Frameworkフォーラムはほとんど誰も見ていないんじゃないかな


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2017年3月22日 9:45
  • ありがとうございます、2017からは項目の追加で行うように変更されていたのですか。

    #誤ってMicro Frameworkフォーラムになっておりました、ご忠告ありがとうございます

    2017年3月22日 13:46