private bool CalculateCommandVisibility() { IVsSolution service = (IVsSolution)this.serviceProvider.GetService(typeof(SVsSolution)); if (service != null) { IEnumHierarchies hierarchies; Guid empty = Guid.Empty; if (ErrorHandler.Succeeded(service.GetProjectEnum(0x1b, ref empty, out hierarchies)) && (hierarchies != null)) { uint num2; Guid gUID = typeof(STextTemplating).GUID; IVsHierarchy[] rgelt = new IVsHierarchy[1]; while ((hierarchies.Next(1, rgelt, out num2) == 0) && (num2 == 1)) { IVsProjectStartupServices startUpServices = GetStartUpServices(rgelt[0]); if ((startUpServices != null) && StartupServicesReferencesService(startUpServices, gUID)) { return(true); } } } } return(false); }
private static void MarkProjectForTextTemplating(IVsHierarchy hierarchy) { Guid gUID = typeof(STextTemplating).GUID; IVsProjectStartupServices startUpServices = OrchestratorCommandSet.GetStartUpServices(hierarchy); if ((startUpServices != null) && !OrchestratorCommandSet.StartupServicesReferencesService(startUpServices, gUID)) { ErrorHandler.Failed(startUpServices.AddStartupService(ref gUID)); } }
private void MarkProjectForTextTemplating(IVsHierarchy hierarchy) { ThreadHelper.ThrowIfNotOnUIThread(); Guid gUID = typeof(SSubSonicTemplatingService).GUID; IVsProjectStartupServices startUpServices = GetStartUpServices(hierarchy); if ((startUpServices != null) && !StartupServicesReferencesService(startUpServices, gUID)) { ErrorHandler.Failed(startUpServices.AddStartupService(ref gUID)); SqmFacade.T4MarkProjectForTextTemplating(); } }
private bool IsSelectedProjectValable() { IVsHierarchy projectHierarchy = GetSelectedProject(_serviceProvider); if (projectHierarchy != null) { IVsProjectStartupServices startup = GetStartUpServices(projectHierarchy); if ((startup != null) && StartUpServicesReferencesService(startup, typeof(STextTemplating).GUID)) { return(true); } } return(false); }
private bool StartUpServicesReferencesService(IVsProjectStartupServices startup, Guid serviceId) { int num; IEnumProjectStartupServices psenum = null; startup.GetStartupServiceEnum(out psenum); uint fetched = 0; Guid[] result = new Guid[1]; do { num = psenum.Next(1, result, out fetched); if ((fetched == 1) && (result[0].CompareTo(serviceId) == 0)) { return(true); } }while (num != 1); return(false); }
internal static bool StartupServicesReferencesService(IVsProjectStartupServices startup, Guid serviceId) { int num2; IEnumProjectStartupServices ppenum = null; ErrorHandler.ThrowOnFailure(startup.GetStartupServiceEnum(out ppenum)); uint pceltFetched = 0; Guid[] rgelt = new Guid[1]; do { num2 = ppenum.Next(1, rgelt, out pceltFetched); ErrorHandler.ThrowOnFailure(num2); if ((pceltFetched == 1) && (rgelt[0].CompareTo(serviceId) == 0)) { return(true); } }while (num2 != 1); return(false); }
private bool StartUpServicesReferencesService(IVsProjectStartupServices startup, Guid serviceId) { int num; IEnumProjectStartupServices psenum = null; startup.GetStartupServiceEnum(out psenum); uint fetched = 0; Guid[] result = new Guid[1]; do { num = psenum.Next(1, result, out fetched); if ((fetched == 1) && (result[0].CompareTo(serviceId) == 0)) return true; } while (num != 1); return false; }