public static string GetSKU() { DTE dte = ServiceLocator.GetInstance <DTE>(); string sku = dte.Edition; if (sku.Equals("Ultimate", StringComparison.OrdinalIgnoreCase) || sku.Equals("Premium", StringComparison.OrdinalIgnoreCase) || sku.Equals("Professional", StringComparison.OrdinalIgnoreCase)) { sku = "Pro"; } return(sku); }
public static IVsHierarchy ToVsHierarchy(this Project project) { IVsHierarchy hierarchy; // Get the vs solution IVsSolution solution = ServiceLocator.GetInstance <IVsSolution>(); int hr = solution.GetProjectOfUniqueName(project.GetUniqueName(), out hierarchy); if (hr != VsConstants.S_OK) { Marshal.ThrowExceptionForHR(hr); } return(hierarchy); }
public void RestorePackages(Project project) { string packageReferenceFileFullPath; Tuple <string, string> packageReferenceFiles = VsUtility.GetPackageReferenceFileFullPaths(project); if (File.Exists(packageReferenceFiles.Item1)) { packageReferenceFileFullPath = packageReferenceFiles.Item1; } else if (File.Exists(packageReferenceFiles.Item2)) { packageReferenceFileFullPath = packageReferenceFiles.Item2; } else { return; } var packageReferenceFile = new PackageReferenceFile(packageReferenceFileFullPath); var packages = packageReferenceFile.GetPackageReferences().ToList(); if (packages.Count == 0) { return; } var repoSettings = ServiceLocator.GetInstance <IRepositorySettings>(); var fileSystem = new PhysicalFileSystem(repoSettings.RepositoryPath); var activePackageSourceRepository = ServiceLocator.GetInstance <IPackageRepository>(); var repository = new AggregateRepository(new[] { MachineCache.Default, activePackageSourceRepository }); IVsPackageManagerFactory packageManagerFactory = ServiceLocator.GetInstance <IVsPackageManagerFactory>(); var packageManager = packageManagerFactory.CreatePackageManager(repository, useFallbackForDependencies: false); foreach (var package in packages) { if (IsPackageInstalled(fileSystem, package.Id, package.Version)) { continue; } using (packageManager.SourceRepository.StartOperation(RepositoryOperationNames.Restore, package.Id, package.Version.ToString())) { var resolvedPackage = PackageHelper.ResolvePackage( packageManager.SourceRepository, package.Id, package.Version); NuGet.Common.PackageExtractor.InstallPackage(packageManager, resolvedPackage); } } }
public static bool?ShowQueryMessage(string message, string title, bool showCancelButton) { int result = VsShellUtilities.ShowMessageBox( ServiceLocator.GetInstance <IServiceProvider>(), message, title, OLEMSGICON.OLEMSGICON_QUERY, showCancelButton ? OLEMSGBUTTON.OLEMSGBUTTON_YESNOCANCEL : OLEMSGBUTTON.OLEMSGBUTTON_YESNO, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); if (result == NativeMethods.IDCANCEL) { return(null); } return(result == NativeMethods.IDYES); }
public static IVsHierarchy ToVsHierarchy(EnvDTE.Project project) { ThreadHelper.ThrowIfNotOnUIThread(); IVsHierarchy hierarchy; // Get the vs solution var solution = ServiceLocator.GetInstance <IVsSolution>(); var hr = solution.GetProjectOfUniqueName(EnvDTEProjectInfoUtility.GetUniqueName(project), out hierarchy); if (hr != VSConstants.S_OK) { Marshal.ThrowExceptionForHR(hr); } return(hierarchy); }
public static void CollapseAllNodes(ISolutionManager solutionManager, IDictionary <string, ISet <VsHierarchyItem> > ignoreNodes) { var dte = ServiceLocator.GetInstance <DTE>(); var projects = dte.Solution.Projects; // this operation needs to execute on UI thread ThreadHelper.Generic.Invoke(() => { foreach (Project project in projects) { ISet <VsHierarchyItem> expandedNodes; if (ignoreNodes.TryGetValue(GetUniqueName(project), out expandedNodes) && expandedNodes != null) { CollapseProjectHierarchyItems(project, expandedNodes); } } }); }
public static async Task CollapseAllNodesAsync(ISolutionManager solutionManager, IDictionary <string, ISet <VsHierarchyItem> > ignoreNodes) { // this operation needs to execute on UI thread await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var dte = ServiceLocator.GetInstance <EnvDTE.DTE>(); var projects = dte.Solution.Projects; foreach (var project in projects.Cast <EnvDTE.Project>()) { ISet <VsHierarchyItem> expandedNodes; if (ignoreNodes.TryGetValue(EnvDTEProjectInfoUtility.GetUniqueName(project), out expandedNodes) && expandedNodes != null) { CollapseProjectHierarchyItems(project, expandedNodes); } } }
public static async Task CollapseAllNodesAsync(IDictionary <string, ISet <VsHierarchyItem> > ignoreNodes) { Verify.ArgumentIsNotNull(ignoreNodes, nameof(ignoreNodes)); await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var dte = ServiceLocator.GetInstance <EnvDTE.DTE>(); var projects = dte.Solution.Projects; foreach (var project in projects.Cast <EnvDTE.Project>()) { ISet <VsHierarchyItem> expandedNodes; if (ignoreNodes.TryGetValue(project.GetUniqueName(), out expandedNodes) && expandedNodes != null) { CollapseProjectHierarchyItems(project, expandedNodes); } } }
public PackageRestoreManager( ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IPackageRepositoryFactory packageRepositoryFactory, IVsPackageManagerFactory packageManagerFactory, IVsPackageSourceProvider packageSourceProvider, IVsPackageInstallerEvents packageInstallerEvents, ISettings settings) : this(ServiceLocator.GetInstance <DTE>(), solutionManager, fileSystemProvider, packageRepositoryFactory, packageSourceProvider, packageManagerFactory, packageInstallerEvents, MachineCache.Default, ServiceLocator.GetGlobalService <SVsThreadedWaitDialogFactory, IVsThreadedWaitDialogFactory>(), settings) { }
public IConsole CreateOutputConsole(bool requirePowerShellHost) { if (_console == null) { var serviceProvider = ServiceLocator.GetInstance <IServiceProvider>(); var outputWindow = (IVsOutputWindow)serviceProvider.GetService(typeof(SVsOutputWindow)); Debug.Assert(outputWindow != null); _console = new OutputConsole(outputWindow); } // only instantiate the PS host if necessary (e.g. when package contains PS script files) if (requirePowerShellHost && _console.Host == null) { var hostProvider = GetPowerShellHostProvider(); _console.Host = hostProvider.CreateHost(@async: false); } return(_console); }
public static async TaskExpandedNodes GetAllExpandedNodesAsync(ISolutionManager solutionManager) { // this operation needs to execute on UI thread await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var dte = ServiceLocator.GetInstance <EnvDTE.DTE>(); var projects = dte.Solution.Projects; var results = new Dictionary <string, ISet <VsHierarchyItem> >(StringComparer.OrdinalIgnoreCase); foreach (var project in projects.Cast <EnvDTE.Project>()) { var expandedNodes = GetExpandedProjectHierarchyItems(project); Debug.Assert(!results.ContainsKey(EnvDTEProjectInfoUtility.GetUniqueName(project))); results[EnvDTEProjectInfoUtility.GetUniqueName(project)] = new HashSet <VsHierarchyItem>(expandedNodes); } return(results); }
public static IDictionary <string, ISet <VsHierarchyItem> > GetAllExpandedNodes(ISolutionManager solutionManager) { var dte = ServiceLocator.GetInstance <DTE>(); var projects = dte.Solution.Projects; // this operation needs to execute on UI thread return(ThreadHelper.Generic.Invoke(() => { var results = new Dictionary <string, ISet <VsHierarchyItem> >(StringComparer.OrdinalIgnoreCase); foreach (Project project in projects) { ICollection <VsHierarchyItem> expandedNodes = GetExpandedProjectHierarchyItems(project); Debug.Assert(!results.ContainsKey(GetUniqueName(project))); results[GetUniqueName(project)] = new HashSet <VsHierarchyItem>(expandedNodes); } return results; } )); }
/// <summary> /// DO NOT delete this. This method is only called from PowerShell functional test. /// </summary> public static void RemoveProject(string projectName) { if (String.IsNullOrEmpty(projectName)) { throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "projectName"); } var solutionManager = (ISolutionManager)ServiceLocator.GetInstance <ISolutionManager>(); if (solutionManager != null) { var project = solutionManager.GetProject(projectName); if (project == null) { throw new InvalidOperationException(); } var dte = ServiceLocator.GetGlobalService <SDTE, DTE>(); dte.Solution.Remove(project); } }
/// <summary> /// Finds the NuGetProject from a DTE project /// </summary> public static NuGetProject GetProject(ISolutionManager solutionManager, Project project, VSAPIProjectContext projectContext = null) { if (solutionManager == null) { throw new ArgumentNullException("solution"); } var projectSafeName = EnvDTEProjectUtility.GetCustomUniqueName(project); NuGetProject nuGetProject = solutionManager.GetNuGetProject(projectSafeName); var settings = ServiceLocator.GetInstance <ISettings>(); // if the project does not exist in the solution (this is true for new templates) create it manually if (nuGetProject == null) { VSNuGetProjectFactory factory = new VSNuGetProjectFactory(() => PackagesFolderPathUtility.GetPackagesFolderPath(solutionManager, settings)); nuGetProject = factory.CreateNuGetProject(project, projectContext); } return(nuGetProject); }
public VsFileSystemProvider() : this(ServiceLocator.GetInstance <DTE>(), ServiceLocator.GetGlobalService <SComponentModel, IComponentModel>()) { }
public RecentPackagesRepository(IPackageRepositoryFactory repositoryFactory, IPersistencePackageSettingsManager settingsManager) : this(ServiceLocator.GetInstance <DTE>(), repositoryFactory, ServiceLocator.GetInstance <IPackageSourceProvider>(), settingsManager) { }
public SolutionManager() : this(ServiceLocator.GetInstance <DTE>(), ServiceLocator.GetGlobalService <SVsSolution, IVsSolution>()) { }
public SolutionManager() : this(ServiceLocator.GetInstance <DTE>()) { }
/// <summary> /// Gets the VsSettings singleton object. /// </summary> /// <returns>The VsSettings object in the system.</returns> public static ISettings GetVsSettings() { return(ServiceLocator.GetInstance <ISettings>()); }
// IMPORTANT: do NOT remove this method. It is used by functional tests. public static IEnumerable <PackageSource> GetEnabledPackageSourcesWithAggregate() { return(GetEnabledPackageSourcesWithAggregate(ServiceLocator.GetInstance <IVsPackageSourceProvider>())); }
public VsProductUpdateSettings() : this(ServiceLocator.GetInstance <IServiceProvider>()) { }
public ProductUpdateService() : this(ServiceLocator.GetGlobalService <SVsUIShell, IVsUIShell>(), ServiceLocator.GetInstance <IProductUpdateSettings>()) { }
public IVsPackageManager CreatePackageManager() { return(CreatePackageManager(ServiceLocator.GetInstance <IPackageRepository>())); }
public VsProgressReporter() : this(ServiceLocator.GetInstance <IServiceProvider>()) { }
public VsPersistencePackageSettingsManager() : this(ServiceLocator.GetInstance <IServiceProvider>()) { }
public WindowSettingsManager() : this(ServiceLocator.GetInstance <IServiceProvider>()) { }
private static IVsUIHierarchyWindow GetSolutionExplorerHierarchyWindow() { return(VsShellUtilities.GetUIHierarchyWindow( ServiceLocator.GetInstance <IServiceProvider>(), new Guid(VsConstants.VsWindowKindSolutionExplorer))); }
public VsCommonOperations() : this(ServiceLocator.GetInstance <DTE>()) { }
protected internal virtual IFileSystem GetConfigSettingsFileSystem(string configFolderPath) { return(new SolutionFolderFileSystem(ServiceLocator.GetInstance <DTE>().Solution, VsConstants.NuGetSolutionSettingsFolder, configFolderPath)); }
/// <summary> /// Creates an VsPackageManagerInstance that uses the Active Repository (the repository selected in the console drop down) and uses a fallback repository for dependencies. /// </summary> public IVsPackageManager CreatePackageManager() { return(CreatePackageManager(ServiceLocator.GetInstance <IPackageRepository>(), useFallbackForDependencies: true)); }