プログラムからクラスファイルの作成
Visual Studioのアドインに挑戦中。ドキュメント探すのだけでも一苦労です。
イベントが2回呼ばれたりよくわからないところがあるけど、次のコードをOnConnectionメソッドの後ろの方に追加したら、一応、ファイルのセーブ時にクラスファイルつくれました(例外出るけど)。
_documentEvents = _applicationObject.Events.get_DocumentEvents(null); _documentEvents.DocumentSaved += document => { try { var solution = (Solution2)_applicationObject.Solution; var itemPath = solution.GetProjectItemTemplate("Class.zip", "csproj"); var project = document.ProjectItem.ContainingProject; var projectItem = project.ProjectItems.AddFromTemplate( itemPath, "MyNewClass.cs"); System.Windows.Forms.MessageBox.Show("Done"); } catch(Exception e) { System.Windows.Forms.MessageBox.Show(e.ToString()); } };
APIリファレンスがあっさりめで困る。