protected override void Initialize()
{
// Initialize shared components
DTE = GetService(typeof(DTE)) as DTE2;
Logger.Initialize(this, Constants.VSIX_NAME);
Settings.Initialize(this);
SolutionHandler.Initialize(DTE);
SuggestionHandler.Initialize();
// Initialize other components
var repository = (IVsExtensionRepository)GetService(typeof(SVsExtensionRepository));
var manager = (IVsExtensionManager)GetService(typeof(SVsExtensionManager));
ExtensionInstalledChecker.Initialize(repository, manager);
ShowMissingCommand.Initialize(this);
ModifyMissingCommand.Initialize(this);
ShowSuggestionsCommand.Initialize(this, repository, manager);
InfoBarService.Initialize(this, repository, manager);
base.Initialize();
}