Changeset 2118 for trunk/tools/vslol/VsLol.cs
- Timestamp:
- Nov 26, 2012, 7:10:35 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/vslol/VsLol.cs
r1932 r2118 14 14 [PackageRegistration(UseManagedResourcesOnly = true)] 15 15 16 /* LolFx syntax highlighting */ 17 [ProvideServiceAttribute(typeof(LolFxLanguageService), 18 ServiceName = "LolFx Service")] 19 [ProvideLanguageServiceAttribute(typeof(LolFxLanguageService), 20 "LolFx", 106 /* resource ID */, 21 CodeSense = true, 22 RequestStockColors = true, 23 EnableCommenting = true, 24 EnableAsyncCompletion = true)] 25 [ProvideLanguageExtensionAttribute(typeof(LolFxLanguageService), 26 ".lolfx")] 27 16 28 [ProvideMenuResource(1000, 1)] 17 29 [Guid("f96f7ac5-16ac-4061-8b92-0a02bb455ae9")] 18 30 [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] 19 31 [ComVisible(true)] 20 [ProvideAutoLoad("f1536ef8-92ec-443c-9ed7-fdadf150da82")] // This is needed for the package to be autoloaded 32 33 /* Autoload package */ 34 [ProvideAutoLoad("f1536ef8-92ec-443c-9ed7-fdadf150da82")] 35 21 36 public sealed class PluginPackage : Package 22 37 { … … 33 48 base.Initialize(); 34 49 35 // Ensure the "Build" output pane exists 36 IVsOutputWindow outputWindow = GetService(typeof(SVsOutputWindow)) as IVsOutputWindow; 37 if (null != outputWindow) 38 { 39 Guid guidBuild = Microsoft.VisualStudio.VSConstants.OutputWindowPaneGuid.BuildOutputPane_guid; 40 outputWindow.CreatePane(guidBuild, "Build", 1, 0); 41 } 50 Logger.Initialize(GetService(typeof(SVsOutputWindow)) as IVsOutputWindow); 42 51 43 / / Register the "Generate Compilers" context menu52 /* Register the "Generate Compilers" context menu */ 44 53 OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; 45 54 if (null != mcs) 46 55 { 47 CommandID id = new CommandID(GuidsList.guidVsLolCmdSet, VsLolIDList.cmdidGenerateCompilers); 56 CommandID id = new CommandID(GuidsList.guidVsLolCmdSet, 57 VsLolIDList.cmdidGenerateCompilers); 48 58 OleMenuCommand command = new MenuGenerateCompilers(new ServiceProvider((IOleServiceProvider)this.GetService(typeof(IOleServiceProvider))), id); 49 59 mcs.AddCommand(command); 50 60 } 61 62 /* Register the LolFx language service */ 63 IServiceContainer serviceContainer = this as IServiceContainer; 64 LolFxLanguageService lolfxserv = new LolFxLanguageService(); 65 lolfxserv.SetSite(this); 66 serviceContainer.AddService(typeof(LolFxLanguageService), 67 lolfxserv, true); 51 68 } 69 70 } 71 72 internal static class Logger 73 { 74 public static void Initialize(IVsOutputWindow window) 75 { 76 m_window = window; 77 78 OpenBuildPane(); 79 80 if (m_pane == null) 81 Trace.WriteLine("Failed to get a reference to the Output window Build pane"); 82 } 83 84 private static void OpenBuildPane() 85 { 86 /* Ensure the "Build" output pane exists */ 87 if (m_window != null) 88 { 89 Guid guidBuild = Microsoft.VisualStudio.VSConstants.OutputWindowPaneGuid.BuildOutputPane_guid; 90 m_window.CreatePane(guidBuild, "Build", 1, 0); 91 92 if (Microsoft.VisualStudio.ErrorHandler.Failed(m_window.GetPane(ref guidBuild, out m_pane))) 93 m_pane = null; 94 } 95 } 96 97 public static void Clear() 98 { 99 OpenBuildPane(); 100 101 if (m_pane != null) 102 { 103 m_pane.Activate(); 104 m_pane.Clear(); 105 } 106 } 107 108 public static void Info(string s) 109 { 110 OpenBuildPane(); 111 112 if (m_pane != null) 113 m_pane.OutputString(s); 114 } 115 116 private static IVsOutputWindow m_window = null; 117 private static IVsOutputWindowPane m_pane = null; 52 118 } 53 119 … … 71 137 } 72 138 } 73
Note: See TracChangeset
for help on using the changeset viewer.