//===-- ClangTidyPackages.cs - VSPackage for clang-tidy ----------*- C# -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This class contains a VS extension package that runs clang-tidy over a // file in a VS text editor. // //===----------------------------------------------------------------------===// using Microsoft.VisualStudio.Editor; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.TextManager.Interop; using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.IO; using System.Runtime.InteropServices; using System.Windows.Forms; using System.Xml.Linq; namespace LLVM.ClangTidy { [PackageRegistration(UseManagedResourcesOnly = true)] [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] [ProvideMenuResource("Menus.ctmenu", 1)] [Guid(GuidList.guidClangTidyPkgString)] [ProvideOptionPage(typeof(ClangTidyConfigurationPage), "LLVM/Clang", "ClangTidy", 0, 0, true)] public sealed class ClangTidyPackage : Package { #region Package Members protected override void Initialize() { base.Initialize(); var commandService = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if (commandService != null) { var menuCommandID = new CommandID(GuidList.guidClangTidyCmdSet, (int)PkgCmdIDList.cmdidClangTidy); var menuItem = new MenuCommand(MenuItemCallback, menuCommandID); commandService.AddCommand(menuItem); } } #endregion private void MenuItemCallback(object sender, EventArgs args) { } } }