///// <summary> ///// Default constructor of the package. ///// Inside this method you can place any initialization code that does not require ///// any Visual Studio service because at this point the package object is created but ///// not sited yet inside Visual Studio environment. The place to do all the other ///// initialization is the Initialize method. ///// </summary> //public TrimSpacesPackage() //{ //} ///////////////////////////////////////////////////////////////////////////// // 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() { base.Initialize(); DTE dte = GetService(typeof(SDTE)) as DTE; if (dte != null) { _documentEvents = dte.Events.DocumentEvents; _documentEvents.DocumentSaved += OnDocumentSaved; } _extensionGroups = new FileExtensionGroup[] { new FileExtensionGroup { Name = ".NET", Extensions = new[] { ".cs", ".vb" }, Enabled = true }, new FileExtensionGroup { Name = "C/C++", Extensions = new[] { ".cpp", ".c", ".h", ".hpp" }, Enabled = true }, new FileExtensionGroup { Name = "SQL", Extensions = new[] { ".sql" }, Enabled = true }, new FileExtensionGroup { Name = "XML", Extensions = new[] { ".xml", ".xsd", ".xaml", ".resx", ".wsdl" }, Enabled = true }, new FileExtensionGroup { Name = "ASP.NET", Extensions = new[] { ".aspx", ".ascx", ".asax", ".ashx", ".asmx", ".css", ".js", ".htm", ".html", ".cshtml" }, Enabled = true }, new FileExtensionGroup { Name = "Command files", Extensions = new[] { ".ps1", ".psm1", ".cmd", ".bat" }, Enabled = true }, new FileExtensionGroup { Name = "T4", Extensions = new[] { ".tt" }, Enabled = true }, new FileExtensionGroup { Name = "Other text files", Extensions = new[] { ".txt", ".nuspec", ".build", ".config", ".manifest" }, Enabled = true } }; _fileExtensions = GetEnabledFileExtensions(_extensionGroups); }
private static string[] GetEnabledFileExtensions(FileExtensionGroup[] extensionGroups) { return extensionGroups.Where(g => g.Enabled).SelectMany(g => g.Extensions).ToArray(); }