/// <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(); TraceWriteLine("Package Initialization: Starting"); IServiceContainer serviceContainer = this as IServiceContainer; ServiceCreatorCallback callback = new ServiceCreatorCallback(CreateGitWrapperService); serviceContainer.AddService(typeof(IGitStashWrapper), callback, true); serviceContainer.AddService(typeof(IGitStashProjectEvents), callback, true); serviceContainer.AddService(typeof(IGitStashTranslator), callback, true); gitService = (IGitExt)GetService(typeof(IGitExt)); gitService.PropertyChanged += GitService_PropertyChanged; this.projects = new GitStashProjects(this); this.events = new GitStashFileWatcher(); if (gitService.ActiveRepositories.FirstOrDefault() != null) { string path = gitService.ActiveRepositories.FirstOrDefault().RepositoryPath; TraceWriteLine("Setting directory: " + path); events.ChangeDirectory(path); } TraceWriteLine("Package Initialization: Done"); ShowStashPageCommand.Initialize(this); }
/// <summary> /// Initializes the singleton instance of the command. /// </summary> /// <param name="package">Owner package, not null.</param> public static void Initialize(Package package) { Instance = new ShowStashPageCommand(package); }