public AddFromCookiecutterCommand(CookiecutterPackage package) { _package = package; _projectSystem = new ProjectSystemClient(package.DTE); }
private void ShowCookiecutterPage() { Debug.Assert(_cookiecutterPage == null); var outputWindow = OutputWindowRedirector.GetGeneral(this); Debug.Assert(outputWindow != null); ReportPrereqsEvent(true); string feedUrl = CookiecutterPackage.Instance.RecommendedFeed; if (string.IsNullOrEmpty(feedUrl)) { feedUrl = UrlConstants.DefaultRecommendedFeed; } object commonIdeFolderPath; var shell = (IVsShell)GetService(typeof(SVsShell)); ErrorHandler.ThrowOnFailure(shell.GetProperty((int)__VSSPROPID.VSSPROPID_InstallDirectory, out commonIdeFolderPath)); var gitClient = GitClientProvider.Create(outputWindow, commonIdeFolderPath as string); var projectSystemClient = new ProjectSystemClient((EnvDTE80.DTE2)GetService(typeof(EnvDTE.DTE))); _cookiecutterPage = new CookiecutterContainerPage( this, outputWindow, CookiecutterTelemetry.Current, gitClient, new Uri(feedUrl), OpenGeneratedFolder, projectSystemClient, UpdateCommandUI ); _cookiecutterPage.ContextMenuRequested += OnContextMenuRequested; _cookiecutterPage.InitializeAsync(CookiecutterPackage.Instance.CheckForTemplateUpdate).HandleAllExceptions(this, GetType()).DoNotWait(); ((Frame)Content).Content = _cookiecutterPage; }