void Actions_OpenProject(object sender, OpenProjectEventArgs e) { if (!CentoCore.Instance.OpenProject(e.ProjectFilename)) { this.View.DisplayErrorMessage("Error", "Failed to open project file."); } }
private void HandleAfterOpenProjectEvent(object sender, OpenProjectEventArgs e) { // // A project has been loaded. Save the current time. // long finishTime = DateTimeOffset.Now.ToUnixTimeMilliseconds(); //ThreadHelper.ThrowIfNotOnUIThread(k_ExtensionName); // // Get the project name. // int result = e.Hierarchy.GetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_Name, out Object nameAsObject); if (ErrorHandler.Failed(result)) { OutputLine(string.Format("GetProperty failed : {0:X8}", result)); return; } var projectName = (string)nameAsObject; // // Get the project GUID. // result = e.Hierarchy.GetGuidProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ProjectIDGuid, out Guid projectGuid); if (ErrorHandler.Failed(result)) { OutputLine(string.Format("GetGuidProperty failed : {0:X8}", result)); return; } // // Pop the start time for the project and log it. // if (!m_LoadingTimes.TryGetValue(projectGuid, out long startTime)) { // // The project called "Miscellaneous Files" is reported as an // empty GUID during HandleBeforeOpenProjectEvent. Check if this // completion is for the project. // projectGuid = Guid.Empty; if (!m_LoadingTimes.TryGetValue(projectGuid, out startTime)) { OutputLine(string.Format("TryGetValue failed : {0}", projectName)); return; } } m_LoadingTimes.Remove(projectGuid); long elapsedTime = finishTime - startTime; OutputLine(string.Format("{0,-50}, {1,20},", projectName, elapsedTime)); }
private void SolutionEvents_OnAfterOpenProject(object sender, OpenProjectEventArgs e) { var hierarchy = e.Hierarchy; var project = hierarchy.GetProp<EnvDTE.Project>(VSConstants.VSITEMID_ROOT, __VSHPROPID.VSHPROPID_ExtObject); if (project == null) return; // not supported prfoject type var projectId = new ProjectId(_stringManager.GetId(project.FullName)); var projectPath = project.FullName; _loadingProjectPath = projectPath; _loadingProjectId = projectId; foreach (var server in _servers) server.ProjectStartLoading(projectId, projectPath); Debug.WriteLine($"tr: AfterOpenProject(IsAdded='{e.IsAdded}', FullName='{projectPath}' id={projectId})"); foreach (var server in _servers) server.AddedMscorlibReference(projectId); var listener = new HierarchyListener(hierarchy); listener.ItemAdded += FileAdded; listener.ItemDeleted += FileDeleted; listener.ReferenceAdded += Listener_ReferenceAdded; listener.StartListening(true); _listenersMap.Add(hierarchy, listener); // We need apdate all references when a project adding in exist solution if (e.IsAdded) { } foreach (var server in _servers) server.ProjectLoaded(projectId); }
private void SolutionEvents_OnAfterAsynchOpenProject(object sender, OpenProjectEventArgs e) { Debug.WriteLine($"tr: AfterChangeProjectParent(Hierarchy='{e.Hierarchy}', IsAdded='{e.IsAdded}' _currentSolutionId={_currentSolutionId})"); }
private void OnAfterOpenProject(object sender, OpenProjectEventArgs e) { _hierarchieslistener.AddHierarchy(e.Hierarchy); RestartTimer(); }