/// <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> /// <param name="cancellationToken">A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.</param> /// <param name="progress">A provider for progress updates.</param> /// <returns>A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.</returns> protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { AddService(typeof(DoxygenConfigService), CreateDoxygenConfigServiceAsync, true); // When initialized asynchronously, the current thread may be a background thread at this point. // Do any initialization that requires the UI thread after switching to the UI thread. await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); // Load Doxygen configuration. OptionsPage page = (OptionsPage)GetDialogPage(typeof(OptionsPage)); var configService = await GetServiceAsync(typeof(DoxygenConfigService)) as DoxygenConfigService; if (configService != null) { configService.Config.LoadSettings(page); } await GenerateComment.InitializeAsync(this); }
/// <summary> /// Loads configuration from options page. /// </summary> /// <param name="options">The options page.</param> public void LoadSettings(OptionsPage options) { TagIndentation = options.TagIndentation; TagStyle = options.TagStyle; FileCommentTemplate = options.FileCommentTemplate; SmartComments = options.SmartComments; SmartCommentsForAllFunctions = options.SmartCommentsForAllFunctions; DefaultNonConstReferenceDirection = options.DefaultNonConstReferenceDirection; Abbreviations = options.Abbreviations; BriefSetterDescFormat = options.BriefSetterDescFormat; BriefGetterDescFormat = options.BriefGetterDescFormat; BriefBoolGetterDescFormat = options.BriefBoolGetterDescFormat; ParamSetterDescFormat = options.ParamSetterDescFormat; ReturnDescFormat = options.ReturnDescFormat; ReturnBooleanDescFormat = options.ReturnBooleanDescFormat; ParamBooleanFormat = options.ParamBooleanFormat; FileCommentIsHeader = options.FileCommentIsHeader; FileCommentIsSource = options.FileCommentIsSource; FileCommentIsInline = options.FileCommentIsInline; ConfigChanged?.Invoke(this, EventArgs.Empty); }