static void RunTemplateActions(ProcessedTemplateResult templateResult) { foreach (string action in templateResult.Actions) { var fileName = Path.Combine(templateResult.ProjectBasePath, action); if (File.Exists(fileName)) { IdeApp.Workbench.OpenDocument(fileName, project: null); } } // Notify supporting GettingStarted providers Project firstProject = null; if (templateResult.WorkspaceItems.OfType <Solution> ().Any()) { // this is a solution that's been instantiated, lets just look for the first project firstProject = IdeApp.Workspace.GetAllProjects().FirstOrDefault(); } else { firstProject = templateResult.WorkspaceItems.OfType <Project> ().FirstOrDefault(); } if (firstProject != null) { var gettingStartedProvider = GettingStarted.GettingStarted.GetGettingStartedProvider(firstProject); gettingStartedProvider?.SupportedProjectCreated(templateResult); } }
static void RunTemplateActions(ProcessedTemplateResult templateResult) { foreach (string action in templateResult.Actions) { IdeApp.Workbench.OpenDocument(Path.Combine(templateResult.ProjectBasePath, action)); } }
bool CreateProject() { if (!projectConfiguration.IsValid()) { MessageService.ShowError(projectConfiguration.GetErrorMessage()); return(false); } if (ParentFolder != null && ParentFolder.ParentSolution.FindProjectByName(projectConfiguration.ProjectName) != null) { MessageService.ShowError(GettextCatalog.GetString("A Project with that name is already in your Project Space")); return(false); } if (ParentWorkspace != null && SolutionAlreadyExistsInParentWorkspace()) { MessageService.ShowError(GettextCatalog.GetString("A solution with that filename is already in your workspace")); return(false); } ProcessedTemplateResult result = null; try { if (Directory.Exists(projectConfiguration.ProjectLocation)) { var question = GettextCatalog.GetString("Directory {0} already exists.\nDo you want to continue creating the project?", projectConfiguration.ProjectLocation); var btn = MessageService.AskQuestion(question, AlertButton.No, AlertButton.Yes); if (btn != AlertButton.Yes) { return(false); } } Directory.CreateDirectory(projectConfiguration.ProjectLocation); } catch (IOException) { MessageService.ShowError(GettextCatalog.GetString("Could not create directory {0}. File already exists.", projectConfiguration.ProjectLocation)); return(false); } catch (UnauthorizedAccessException) { MessageService.ShowError(GettextCatalog.GetString("You do not have permission to create to {0}", projectConfiguration.ProjectLocation)); return(false); } DisposeExistingNewItems(); try { result = IdeApp.Services.TemplatingService.ProcessTemplate(GetTemplateForProcessing(), projectConfiguration, ParentFolder); if (!result.WorkspaceItems.Any()) { return(false); } } catch (UserException ex) { MessageService.ShowError(ex.Message, ex.Details); return(false); } catch (Exception ex) { MessageService.ShowError(GettextCatalog.GetString("The project could not be created"), ex); return(false); } processedTemplate = result; return(true); }
static void RunTemplateActions(ProcessedTemplateResult templateResult) { const string gettingStartedHint = "getting-started://"; foreach (string action in templateResult.Actions) { // handle url schemed actions like opening the getting started page (if any) if (action.StartsWith(gettingStartedHint, StringComparison.OrdinalIgnoreCase)) { var items = templateResult.WorkspaceItems.ToList(); if (items.OfType <Solution> ().Any()) { // this is a solution that's been instantiated, lets just look for the first project var p = IdeApp.Workspace.GetAllProjects().FirstOrDefault(); if (p != null) { GettingStarted.GettingStarted.ShowGettingStarted(p, action.Substring(gettingStartedHint.Length)); } continue; } } var fileName = Path.Combine(templateResult.ProjectBasePath, action); if (File.Exists(fileName)) { IdeApp.Workbench.OpenDocument(fileName, project: null); } } }
static async Task <bool> OpenCreatedSolution(ProcessedTemplateResult templateResult) { if (await IdeApp.Workspace.OpenWorkspaceItem(templateResult.SolutionFileName)) { RunTemplateActions(templateResult); return(true); } return(false); }
static IAsyncOperation OpenCreatedSolution(ProcessedTemplateResult templateResult) { IAsyncOperation asyncOperation = IdeApp.Workspace.OpenWorkspaceItem(templateResult.SolutionFileName); asyncOperation.Completed += delegate { if (asyncOperation.Success) { RunTemplateActions(templateResult); } }; return(asyncOperation); }
public virtual void SupportedProjectCreated(ProcessedTemplateResult templateResult) { }