internal void PopulateAvailableProjects(string projectsJSON) { var projects = JsonConvert.DeserializeObject <List <Project> >(projectsJSON) ?? new List <Project>(); AvailableProjects = projects.Select(p => p.Identifier).ToList(); AvailableProjects.Sort(); }
/// <summary> /// Create a ProfilingTargetView with default values. /// </summary> public ProfilingTargetView(IServiceProvider serviceProvider) { var solution = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution; var availableProjects = new List<ProjectTargetView>(); foreach (var project in solution.EnumerateLoadedProjects()) { availableProjects.Add(new ProjectTargetView((IVsHierarchy)project)); } _availableProjects = new ReadOnlyCollection<ProjectTargetView>(availableProjects); _project = null; _standalone = new StandaloneTargetView(serviceProvider); _isProjectSelected = true; _isValid = false; PropertyChanged += new PropertyChangedEventHandler(ProfilingTargetView_PropertyChanged); _standalone.PropertyChanged += new PropertyChangedEventHandler(Standalone_PropertyChanged); var startupProject = PythonProfilingPackage.GetStartupProjectGuid(serviceProvider); Project = AvailableProjects.FirstOrDefault(p => p.Guid == startupProject) ?? AvailableProjects.FirstOrDefault(); if (Project != null) { IsStandaloneSelected = false; IsProjectSelected = true; } else { IsProjectSelected = false; IsStandaloneSelected = true; } _startText = "_Start"; }
private async void RefreshProjects() { AvailableProjects.Clear(); foreach (Project project in (await _jiraClient.Projects.GetProjectsAsync()).OrderBy(x => x.Key)) { AvailableProjects.Add(new JiraProjectViewModel(project)); } }
/// <summary> /// </summary> public TaskSearchDesignViewModel() { AvailableIssues.Add(new JiraIssueDesignViewModel("Bug", "PROJECT42-4", "Das ist ein falscher fehler")); AvailableIssues.Add(new JiraIssueDesignViewModel("Feature", "PROJECT-42", "Das ist ein neuer falscher Fehler")); AvailableIssues.Add(new JiraIssueDesignViewModel("Aufgabe", "PROJECT-424", "Und hier soll noch jemand ein viel längeren falschen Fehler einbauen, damit wir auch in Zukunft was z utun haben ;-)")); SelectedIssue = AvailableIssues[1]; AvailableProjects.Add(new JiraProjectDesignViewModel()); AvailableProjects.Add(new JiraProjectDesignViewModel()); SelectedProject = AvailableProjects.First(); }
public void ChangeProject(string newProjectName) { if (newProjectName.Compare(ProjectName)) { return; } if (!AvailableProjects.Contains(newProjectName)) { throw new ProjectNotAvailable(newProjectName); } send(new ChangeProjectRequest(newProjectName), true); }
/// <summary> /// Create a ProfilingTargetView with default values. /// </summary> public ProfilingTargetView(IServiceProvider serviceProvider) { var solution = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution; var availableProjects = new List <ProjectTargetView>(); foreach (var project in solution.EnumerateLoadedProjects()) { availableProjects.Add(new ProjectTargetView((IVsHierarchy)project)); } _availableProjects = new ReadOnlyCollection <ProjectTargetView>(availableProjects); _project = null; _standalone = new StandaloneTargetView(serviceProvider); _isProjectSelected = true; _isValid = false; _useVTune = false; #if EXTERNAL_PROFILER_DRIVER _isVTuneAvailable = PythonProfilingPackage.CheckForExternalProfiler(); _isExternalProfilerEnabled = true; #else _isVTuneAvailable = false; _isExternalProfilerEnabled = false; #endif PropertyChanged += new PropertyChangedEventHandler(ProfilingTargetView_PropertyChanged); _standalone.PropertyChanged += new PropertyChangedEventHandler(Standalone_PropertyChanged); var startupProject = PythonProfilingPackage.GetStartupProjectGuid(serviceProvider); Project = AvailableProjects.FirstOrDefault(p => p.Guid == startupProject) ?? AvailableProjects.FirstOrDefault(); if (Project != null) { IsStandaloneSelected = false; IsProjectSelected = true; } else { IsProjectSelected = false; IsStandaloneSelected = true; } _startText = Strings.LaunchProfiling_Start; }
/// <summary> /// Create a ProfilingTargetView with default values. /// </summary> public ProfilingTargetView() { var solution = NodejsProfilingPackage.Instance.Solution; var availableProjects = new List <ProjectTargetView>(); foreach (var project in solution.EnumerateLoadedProjects(onlyNodeProjects: true)) { availableProjects.Add(new ProjectTargetView((IVsHierarchy)project)); } _availableProjects = new ReadOnlyCollection <ProjectTargetView>(availableProjects); _project = null; _standalone = new StandaloneTargetView(); _isProjectSelected = true; _isValid = false; PropertyChanged += new PropertyChangedEventHandler(ProfilingTargetView_PropertyChanged); _standalone.PropertyChanged += new PropertyChangedEventHandler(Standalone_PropertyChanged); var startupProject = NodejsProfilingPackage.Instance.GetStartupProjectGuid(); Project = AvailableProjects.FirstOrDefault(p => p.Guid == startupProject) ?? AvailableProjects.FirstOrDefault(); if (Project != null) { IsStandaloneSelected = false; IsProjectSelected = true; } else { IsProjectSelected = false; IsStandaloneSelected = true; } _startText = Resources.ProfilingStart; }
public SynchronizePageObjectsModel( Project project, IReadOnlyList <string> availableComponentTypeNames, DTE dte, IVsSolution2 solutionService) { ThreadHelper.ThrowIfNotOnUIThread(); if (project == null) { throw new ArgumentNullException(nameof(project)); } else if (availableComponentTypeNames == null) { throw new ArgumentNullException(nameof(availableComponentTypeNames)); } else if (dte == null) { throw new ArgumentNullException(nameof(dte)); } else if (solutionService == null) { throw new ArgumentNullException(nameof(solutionService)); } fileMap = new List <MappedFileModel>(); AvailableComponentTypeNames = availableComponentTypeNames; var defaultProjectName = $"{project.Name}.PageObjects"; DefaultNamespace = defaultProjectName; OriginalProjectName = project.Name; // Get the solution folder. var solutionDir = new FileInfo(dte.Solution.FullName) .Directory .FullName; availableProjects = new List <AvailableProjectModel> { new AvailableProjectModel { IsNew = true, DisplayName = "New", Name = defaultProjectName, PathToProjectFolder = Path.Combine( solutionDir, defaultProjectName), FullPath = Path.Combine( solutionDir, defaultProjectName, defaultProjectName + ".csproj"), UniqueName = String.Empty } }; var newProject = AvailableProjects[0]; var projects = solutionService.GetProjects(); foreach (var p in projects) { if (String.IsNullOrEmpty(p?.FullName)) { continue; } AddAvailableProject(new AvailableProjectModel { DisplayName = p.Name, FullPath = p.FileName, IsNew = false, Name = p.Name, PathToProjectFolder = new FileInfo(p.FullName).Directory.FullName, UniqueName = p.UniqueName, }); } // Check if a default project already exists. SelectedProjectIndex = AvailableProjects .Select((m, i) => new { Model = m, Index = i }) .FirstOrDefault(m => m.Model.DisplayName == defaultProjectName) ?.Index ?? 0; // Now locate all razor files in the selected project. foreach (var item in project.GetAllProjectItems()) { // Ignore if not a razor file. var extension = Path.GetExtension(item.Name); var isRazorFile = extension.Equals( ".cshtml", StringComparison.Ordinal); if (!isRazorFile) { continue; } var mappedFile = new MappedFileModel(project, item, availableComponentTypeNames, SelectedProject.PathToProjectFolder); AddMappedFile(mappedFile); } }