public LanguageSettingsPersister( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, IGlobalOptionService optionService) : base(assertIsForeground: true) { _textManager = (IVsTextManager4)serviceProvider.GetService(typeof(SVsTextManager)); _optionService = optionService; // TODO: make this configurable _languageMap = BidirectionalMap<string, Tuple<Guid>>.Empty.Add(LanguageNames.CSharp, Tuple.Create(Guids.CSharpLanguageServiceId)) .Add(LanguageNames.VisualBasic, Tuple.Create(Guids.VisualBasicLanguageServiceId)) .Add("TypeScript", Tuple.Create(new Guid("4a0dddb5-7a95-4fbf-97cc-616d07737a77"))) .Add("F#", Tuple.Create(new Guid("BC6DD5A5-D4D6-4dab-A00D-A51242DBAF1B"))) .Add("Xaml", Tuple.Create(new Guid("CD53C9A1-6BC2-412B-BE36-CC715ED8DD41"))); foreach (var languageGuid in _languageMap.Values) { var languagePreferences = new LANGPREFERENCES3[1]; languagePreferences[0].guidLang = languageGuid.Item1; // The function can potentially fail if that language service isn't installed if (ErrorHandler.Succeeded(_textManager.GetUserPreferences4(pViewPrefs: null, pLangPrefs: languagePreferences, pColorPrefs: null))) { RefreshLanguageSettings(languagePreferences); } } _textManagerEvents2Sink = ComEventSink.Advise<IVsTextManagerEvents4>(_textManager, this); }
public LanguageSettingsPersister( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, IGlobalOptionService optionService) : base(assertIsForeground: true) { _textManager = (IVsTextManager4)serviceProvider.GetService(typeof(SVsTextManager)); _optionService = optionService; // TODO: make this configurable _languageMap = BidirectionalMap <string, Tuple <Guid> > .Empty.Add(LanguageNames.Hlsl, Tuple.Create(Guids.HlslLanguageServiceId)) .Add(LanguageNames.ShaderLab, Tuple.Create(Guids.ShaderLabLanguageServiceId)); foreach (var languageGuid in _languageMap.Values) { var languagePreferences = new LANGPREFERENCES3[1]; languagePreferences[0].guidLang = languageGuid.Item1; // The function can potentially fail if that language service isn't installed if (ErrorHandler.Succeeded(_textManager.GetUserPreferences4(pViewPrefs: null, pLangPrefs: languagePreferences, pColorPrefs: null))) { RefreshLanguageSettings(languagePreferences); } } _textManagerEvents2Sink = ComEventSink.Advise <IVsTextManagerEvents4>(_textManager, this); }
public LanguageSettingsPersister( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, IGlobalOptionService optionService) : base(assertIsForeground: true) { _textManager = (IVsTextManager4)serviceProvider.GetService(typeof(SVsTextManager)); _optionService = optionService; // TODO: make this configurable _languageMap = BidirectionalMap <string, Tuple <Guid> > .Empty.Add(LanguageNames.CSharp, Tuple.Create(Guids.CSharpLanguageServiceId)) .Add(LanguageNames.VisualBasic, Tuple.Create(Guids.VisualBasicLanguageServiceId)) .Add("TypeScript", Tuple.Create(new Guid("4a0dddb5-7a95-4fbf-97cc-616d07737a77"))) .Add("F#", Tuple.Create(new Guid("BC6DD5A5-D4D6-4dab-A00D-A51242DBAF1B"))) .Add("Xaml", Tuple.Create(new Guid("CD53C9A1-6BC2-412B-BE36-CC715ED8DD41"))); foreach (var languageGuid in _languageMap.Values) { var languagePreferences = new LANGPREFERENCES3[1]; languagePreferences[0].guidLang = languageGuid.Item1; // The function can potentially fail if that language service isn't installed if (ErrorHandler.Succeeded(_textManager.GetUserPreferences4(pViewPrefs: null, pLangPrefs: languagePreferences, pColorPrefs: null))) { RefreshLanguageSettings(languagePreferences); } } _textManagerEvents2Sink = ComEventSink.Advise <IVsTextManagerEvents4>(_textManager, this); }
public NavigationBarClient( IVsDropdownBarManager manager, IVsCodeWindow codeWindow, IServiceProvider serviceProvider, VisualStudioWorkspaceImpl workspace) { _manager = manager; _codeWindow = codeWindow; _workspace = workspace; _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService)); _projectItems = SpecializedCollections.EmptyList <NavigationBarProjectItem>(); _currentTypeItems = SpecializedCollections.EmptyList <NavigationBarItem>(); var vsShell = serviceProvider.GetService(typeof(SVsShell)) as IVsShell; if (vsShell != null) { int hresult = vsShell.GetProperty((int)__VSSPROPID.VSSPROPID_ObjectMgrTypesImgList, out var varImageList); if (ErrorHandler.Succeeded(hresult) && varImageList != null) { _imageList = (IntPtr)(int)varImageList; } } _codeWindowEventsSink = ComEventSink.Advise <IVsCodeWindowEvents>(codeWindow, this); _editorAdaptersFactoryService = serviceProvider.GetMefService <IVsEditorAdaptersFactoryService>(); codeWindow.GetPrimaryView(out var pTextView); StartTrackingView(pTextView); pTextView = null; codeWindow.GetSecondaryView(out pTextView); StartTrackingView(pTextView); }
public NavigationBarClient( IVsDropdownBarManager manager, IVsCodeWindow codeWindow, IServiceProvider serviceProvider, VisualStudioWorkspaceImpl workspace) { _manager = manager; _codeWindow = codeWindow; _workspace = workspace; _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService)); _projectItems = SpecializedCollections.EmptyList<NavigationBarProjectItem>(); _currentTypeItems = SpecializedCollections.EmptyList<NavigationBarItem>(); var vsShell = serviceProvider.GetService(typeof(SVsShell)) as IVsShell; if (vsShell != null) { object varImageList; int hresult = vsShell.GetProperty((int)__VSSPROPID.VSSPROPID_ObjectMgrTypesImgList, out varImageList); if (ErrorHandler.Succeeded(hresult) && varImageList != null) { _imageList = (IntPtr)(int)varImageList; } } _codeWindowEventsSink = ComEventSink.Advise<IVsCodeWindowEvents>(codeWindow, this); _editorAdaptersFactoryService = serviceProvider.GetMefService<IVsEditorAdaptersFactoryService>(); IVsTextView pTextView; codeWindow.GetPrimaryView(out pTextView); StartTrackingView(pTextView); pTextView = null; codeWindow.GetSecondaryView(out pTextView); StartTrackingView(pTextView); }
public VsCodeWindowManager(TLanguageService languageService, IVsCodeWindow codeWindow) { _languageService = languageService; _codeWindow = codeWindow; var workspace = languageService.Package.ComponentModel.GetService <VisualStudioWorkspace>(); _optionService = workspace.Services.GetService <IOptionService>(); _sink = ComEventSink.Advise <IVsCodeWindowEvents>(codeWindow, this); _optionService.OptionChanged += OnOptionChanged; }
// We make sure this code is from the UI by asking for the optionservice in the initialize() in AbstractPackage`2 public AbstractLanguageSettingsSerializer(Guid languageServiceguid, string languageName, IServiceProvider serviceProvider) : base(assertIsForeground: true) { _serviceProvider = serviceProvider; _languageName = languageName; _textManager = (IVsTextManager4)serviceProvider.GetService(typeof(SVsTextManager)); var langPrefs = new LANGPREFERENCES3[1]; langPrefs[0].guidLang = languageServiceguid; Marshal.ThrowExceptionForHR(_textManager.GetUserPreferences4(pViewPrefs: null, pLangPrefs: langPrefs, pColorPrefs: null)); _languageSetting = langPrefs[0]; _textManagerEvents2Sink = ComEventSink.Advise <IVsTextManagerEvents4>(_textManager, this); }
public LanguageSettingsPersister( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, IGlobalOptionService optionService) : base(assertIsForeground: true) { _textManager = (IVsTextManager4)serviceProvider.GetService(typeof(SVsTextManager)); _optionService = optionService; // TODO: make this configurable _languageMap = BidirectionalMap<string, Guid>.Empty.Add(LanguageNames.CSharp, Guids.CSharpLanguageServiceId) .Add(LanguageNames.VisualBasic, Guids.VisualBasicLanguageServiceId) .Add("TypeScript", new Guid("4a0dddb5-7a95-4fbf-97cc-616d07737a77")); foreach (var languageGuid in _languageMap.Values) { var languagePreferences = new LANGPREFERENCES3[1]; languagePreferences[0].guidLang = languageGuid; Marshal.ThrowExceptionForHR(_textManager.GetUserPreferences4(pViewPrefs: null, pLangPrefs: languagePreferences, pColorPrefs: null)); RefreshLanguageSettings(languagePreferences); } _textManagerEvents2Sink = ComEventSink.Advise<IVsTextManagerEvents4>(_textManager, this); }