本文整理汇总了C#中HostWorkspaceServices.GetService方法的典型用法代码示例。如果您正苦于以下问题:C# HostWorkspaceServices.GetService方法的具体用法?C# HostWorkspaceServices.GetService怎么用?C# HostWorkspaceServices.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HostWorkspaceServices
的用法示例。
在下文中一共展示了HostWorkspaceServices.GetService方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var optionService = workspaceServices.GetService<IOptionService>();
var errorReportingService = workspaceServices.GetService<IErrorReportingService>();
var errorLoggerService = workspaceServices.GetService<IErrorLoggerService>();
return new ExtensionManager(optionService, errorReportingService, errorLoggerService, _errorHandlers);
}
示例2: GetVisualStudioProjectCache
private static IWorkspaceService GetVisualStudioProjectCache(HostWorkspaceServices workspaceServices)
{
var projectCacheService = new ProjectCacheService(workspaceServices.Workspace, ImplicitCacheTimeoutInMS);
var documentTrackingService = workspaceServices.GetService<IDocumentTrackingService>();
// Subscribe to events so that we can cache items from the active document's project
var manager = new ActiveProjectCacheManager(documentTrackingService, projectCacheService);
// Subscribe to requests to clear the cache
var workspaceCacheService = workspaceServices.GetService<IWorkspaceCacheService>();
if (workspaceCacheService != null)
{
workspaceCacheService.CacheFlushRequested += (s, e) => manager.Clear();
}
// Also clear the cache when the solution is cleared or removed.
workspaceServices.Workspace.WorkspaceChanged += (s, e) =>
{
if (e.Kind == WorkspaceChangeKind.SolutionCleared || e.Kind == WorkspaceChangeKind.SolutionRemoved)
{
manager.Clear();
}
};
return projectCacheService;
}
示例3: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var manager = workspaceServices.GetService<VisualStudioMetadataReferenceManager>();
Debug.Assert(manager != null);
return new Service(manager);
}
示例4: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
if (_singleton == null)
{
var optionService = workspaceServices.GetService<IOptionService>();
System.Threading.Interlocked.CompareExchange(ref _singleton, new PersistentStorageService(optionService), null);
}
return _singleton;
}
示例5: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
if (_singleton == null)
{
var temporaryStorage = workspaceServices.GetService<ITemporaryStorageService>();
Interlocked.CompareExchange(ref _singleton, new VisualStudioMetadataReferenceManager(_serviceProvider, temporaryStorage), null);
}
return _singleton;
}
示例6: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
if (cache == null)
{
var service = workspaceServices.GetService<IOptionService>();
var newCache = CreateCache(service);
Interlocked.CompareExchange(ref cache, newCache, null);
}
return cache;
}
示例7: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var options = workspaceServices.Workspace.Options;
if (options.GetOption(ServiceComponentOnOffOptions.PackageSearch))
{
// Only support package search in vs workspace.
if (workspaceServices.Workspace is VisualStudioWorkspace)
{
return new PackageSearchService(_serviceProvider, workspaceServices.GetService<IPackageInstallerService>());
}
}
return new NullPackageSearchService();
}
示例8: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
return new Service(workspaceServices.GetService<IDocumentationProviderService>());
}
示例9: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
return new Service(workspaceServices.GetService<ITemporaryStorageService>());
}
示例10: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var textFactory = workspaceServices.GetService<ITextFactoryService>();
return new TemporaryStorageService(textFactory);
}
示例11: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var generatedCodeService = workspaceServices.GetService<IGeneratedCodeRecognitionService>();
return new VisualStudioGenerateTypeOptionsService(generatedCodeService);
}
示例12: CreateService
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
{
var hostService = workspaceServices.GetService<IProjectCacheHostService>();
return new Service(hostService);
}