///////////////////////////////////////////////////////////////////////////// // Overridden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); var langService = new NodejsLanguageInfo(this); ((IServiceContainer)this).AddService(langService.GetType(), langService, true); RegisterProjectFactory(new NodejsProjectFactory(this)); RegisterEditorFactory(new NodejsEditorFactory(this)); RegisterEditorFactory(new NodejsEditorFactoryPromptForEncoding(this)); RegisterEditorFactory(new JadeEditorFactory(this)); // Add our command handlers for menu (commands must exist in the .vsct file) var commands = new List <Command> { new OpenReplWindowCommand(), new OpenRemoteDebugProxyFolderCommand(), new OpenRemoteDebugDocumentationCommand(), new SurveyNewsCommand(), new ImportWizardCommand(), new DiagnosticsCommand() }; try { commands.Add(new AzureExplorerAttachDebuggerCommand()); } catch (NotSupportedException) { } RegisterCommands(commands, Guids.NodejsCmdSet); IVsTextManager textMgr = (IVsTextManager)Instance.GetService(typeof(SVsTextManager)); var langPrefs = new LANGPREFERENCES[1]; langPrefs[0].guidLang = typeof(NodejsLanguageInfo).GUID; ErrorHandler.ThrowOnFailure(textMgr.GetUserPreferences(null, null, langPrefs, null)); _langPrefs = new LanguagePreferences(langPrefs[0]); var textManagerEvents2Guid = typeof(IVsTextManagerEvents2).GUID; IConnectionPoint textManagerEvents2ConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEvents2Guid, out textManagerEvents2ConnectionPoint); uint cookie; textManagerEvents2ConnectionPoint.Advise(_langPrefs, out cookie); var textManagerEventsGuid = typeof(IVsTextManagerEvents).GUID; IConnectionPoint textManagerEventsConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEventsGuid, out textManagerEventsConnectionPoint); textManagerEventsConnectionPoint.Advise(new DataTipTextManagerEvents(this), out cookie); MakeDebuggerContextAvailable(); IntellisenseOptionsPage.AnalysisLogMaximumChanged += IntellisenseOptionsPage_AnalysisLogMaximumChanged; InitializeLogging(); }
///////////////////////////////////////////////////////////////////////////// // Overridden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); SubscribeToVsCommandEvents( (int)VSConstants.VSStd97CmdID.AddNewProject, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = true; }, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = false; } ); var langService = new NodejsLanguageInfo(this); ((IServiceContainer)this).AddService(langService.GetType(), langService, true); ((IServiceContainer)this).AddService(typeof(ClipboardServiceBase), new ClipboardService(), true); RegisterProjectFactory(new NodejsProjectFactory(this)); RegisterEditorFactory(new NodejsEditorFactory(this)); RegisterEditorFactory(new NodejsEditorFactoryPromptForEncoding(this)); RegisterEditorFactory(new JadeEditorFactory(this)); // Add our command handlers for menu (commands must exist in the .vsct file) var commands = new List <Command> { new OpenReplWindowCommand(), new OpenRemoteDebugProxyFolderCommand(), new OpenRemoteDebugDocumentationCommand(), new SurveyNewsCommand(), new ImportWizardCommand(), new DiagnosticsCommand(this) }; try { commands.Add(new AzureExplorerAttachDebuggerCommand()); } catch (NotSupportedException) { } RegisterCommands(commands, Guids.NodejsCmdSet); IVsTextManager4 textMgr = (IVsTextManager4)Instance.GetService(typeof(SVsTextManager)); LANGPREFERENCES3[] langPrefs = GetNodejsLanguagePreferencesFromTypeScript(textMgr); _langPrefs = new LanguagePreferences(langPrefs[0]); var textManagerEvents2Guid = typeof(IVsTextManagerEvents4).GUID; IConnectionPoint textManagerEvents2ConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEvents2Guid, out textManagerEvents2ConnectionPoint); uint cookie; textManagerEvents2ConnectionPoint.Advise(_langPrefs, out cookie); var textManagerEventsGuid = typeof(IVsTextManagerEvents).GUID; IConnectionPoint textManagerEventsConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEventsGuid, out textManagerEventsConnectionPoint); textManagerEventsConnectionPoint.Advise(new DataTipTextManagerEvents(this), out cookie); MakeDebuggerContextAvailable(); IntellisenseOptionsPage.AnalysisLogMaximumChanged += IntellisenseOptionsPage_AnalysisLogMaximumChanged; IntellisenseOptionsPage.AnalysisLevelChanged += IntellisenseOptionsPageAnalysisLevelChanged; IntellisenseOptionsPage.SaveToDiskChanged += IntellisenseOptionsPageSaveToDiskChanged; InitializeLogging(); InitializeTelemetry(); // The variable is inherited by child processes backing Test Explorer, and is used in // the NTVS test discoverer and test executor to connect back to VS. Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsProcessIdEnvironmentVariable, Process.GetCurrentProcess().Id.ToString()); }
///////////////////////////////////////////////////////////////////////////// // Overridden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); if (!_hasRequiredTypescriptVersion.Value) { MessageBox.Show( Project.SR.GetString(Project.SR.TypeScriptMinVersionNotInstalled, _minRequiredTypescriptVersion.ToString()), Project.SR.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } SubscribeToVsCommandEvents( (int)VSConstants.VSStd97CmdID.AddNewProject, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = true; }, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = false; } ); #if DEV14 var langService = new NodejsLanguageInfo(this); ((IServiceContainer)this).AddService(langService.GetType(), langService, true); #endif ((IServiceContainer)this).AddService(typeof(ClipboardServiceBase), new ClipboardService(), true); RegisterProjectFactory(new NodejsProjectFactory(this)); RegisterEditorFactory(new JadeEditorFactory(this)); // Add our command handlers for menu (commands must exist in the .vsct file) var commands = new List <Command> { new OpenReplWindowCommand(), new OpenRemoteDebugProxyFolderCommand(), new OpenRemoteDebugDocumentationCommand(), new SurveyNewsCommand(), new ImportWizardCommand(), new DiagnosticsCommand(this), new SendFeedbackCommand(), new ShowDocumentationCommand() }; try { commands.Add(new AzureExplorerAttachDebuggerCommand()); } catch (NotSupportedException) { } RegisterCommands(commands, Guids.NodejsCmdSet); MakeDebuggerContextAvailable(); InitializeLogging(); InitializeTelemetry(); // The variable is inherited by child processes backing Test Explorer, and is used in // the NTVS test discoverer and test executor to connect back to VS. Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsProcessIdEnvironmentVariable, Process.GetCurrentProcess().Id.ToString()); #if DEV15 var root = Environment.GetEnvironmentVariable("VsInstallRoot"); if (!string.IsNullOrEmpty(root)) { Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsVsInstallRootEnvironmentVariable, root); } #endif }
///////////////////////////////////////////////////////////////////////////// // Overridden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); SubscribeToVsCommandEvents( (int)VSConstants.VSStd97CmdID.AddNewProject, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = true; }, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = false; } ); var langService = new NodejsLanguageInfo(this); ((IServiceContainer)this).AddService(langService.GetType(), langService, true); ((IServiceContainer)this).AddService(typeof(ClipboardServiceBase), new ClipboardService(), true); RegisterProjectFactory(new NodejsProjectFactory(this)); RegisterEditorFactory(new NodejsEditorFactory(this)); RegisterEditorFactory(new NodejsEditorFactoryPromptForEncoding(this)); RegisterEditorFactory(new JadeEditorFactory(this)); // Add our command handlers for menu (commands must exist in the .vsct file) var commands = new List<Command> { new OpenReplWindowCommand(), new OpenRemoteDebugProxyFolderCommand(), new OpenRemoteDebugDocumentationCommand(), new SurveyNewsCommand(), new ImportWizardCommand(), new DiagnosticsCommand(this) }; try { commands.Add(new AzureExplorerAttachDebuggerCommand()); } catch (NotSupportedException) { } RegisterCommands(commands, Guids.NodejsCmdSet); IVsTextManager4 textMgr = (IVsTextManager4)Instance.GetService(typeof(SVsTextManager)); LANGPREFERENCES3[] langPrefs = GetNodejsLanguagePreferencesFromTypeScript(textMgr); _langPrefs = new LanguagePreferences(langPrefs[0]); var textManagerEvents2Guid = typeof(IVsTextManagerEvents4).GUID; IConnectionPoint textManagerEvents2ConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEvents2Guid, out textManagerEvents2ConnectionPoint); uint cookie; textManagerEvents2ConnectionPoint.Advise(_langPrefs, out cookie); var textManagerEventsGuid = typeof(IVsTextManagerEvents).GUID; IConnectionPoint textManagerEventsConnectionPoint; ((IConnectionPointContainer)textMgr).FindConnectionPoint(ref textManagerEventsGuid, out textManagerEventsConnectionPoint); textManagerEventsConnectionPoint.Advise(new DataTipTextManagerEvents(this), out cookie); MakeDebuggerContextAvailable(); IntellisenseOptionsPage.AnalysisLogMaximumChanged += IntellisenseOptionsPage_AnalysisLogMaximumChanged; IntellisenseOptionsPage.AnalysisLevelChanged += IntellisenseOptionsPageAnalysisLevelChanged; IntellisenseOptionsPage.SaveToDiskChanged += IntellisenseOptionsPageSaveToDiskChanged; InitializeLogging(); InitializeTelemetry(); // The variable is inherited by child processes backing Test Explorer, and is used in // the NTVS test discoverer and test executor to connect back to VS. Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsProcessIdEnvironmentVariable, Process.GetCurrentProcess().Id.ToString()); }
///////////////////////////////////////////////////////////////////////////// // Overridden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); if (!_hasRequiredTypescriptVersion.Value) { MessageBox.Show( string.Format(CultureInfo.CurrentCulture, Resources.TypeScriptMinVersionNotInstalled, _minRequiredTypescriptVersion.ToString()), Project.SR.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } SubscribeToVsCommandEvents( (int)VSConstants.VSStd97CmdID.AddNewProject, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = true; }, delegate { NewProjectFromExistingWizard.IsAddNewProjectCmd = false; } ); #if DEV14 var langService = new NodejsLanguageInfo(this); ((IServiceContainer)this).AddService(langService.GetType(), langService, true); #endif ((IServiceContainer)this).AddService(typeof(ClipboardServiceBase), new ClipboardService(), true); RegisterProjectFactory(new NodejsProjectFactory(this)); RegisterEditorFactory(new JadeEditorFactory(this)); // Add our command handlers for menu (commands must exist in the .vsct file) var commands = new List<Command> { new OpenReplWindowCommand(), new OpenRemoteDebugProxyFolderCommand(), new OpenRemoteDebugDocumentationCommand(), new SurveyNewsCommand(), new ImportWizardCommand(), new DiagnosticsCommand(this), new SendFeedbackCommand(), new ShowDocumentationCommand() }; try { commands.Add(new AzureExplorerAttachDebuggerCommand()); } catch (NotSupportedException) { } RegisterCommands(commands, Guids.NodejsCmdSet); MakeDebuggerContextAvailable(); InitializeLogging(); InitializeTelemetry(); // The variable is inherited by child processes backing Test Explorer, and is used in // the NTVS test discoverer and test executor to connect back to VS. Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsProcessIdEnvironmentVariable, Process.GetCurrentProcess().Id.ToString()); #if DEV15 var devenvPath = Environment.GetEnvironmentVariable("VSAPPIDDIR"); if (!string.IsNullOrEmpty(devenvPath)) { try { var root = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(devenvPath), @"..\..")); Environment.SetEnvironmentVariable(NodejsConstants.NodeToolsVsInstallRootEnvironmentVariable, root); } catch (Exception) { // noop } } #endif }