src/vs/editor/contrib/codeAction/browser/codeActionUi.ts/CodeActionUi/constructor
class CodeActionUi:	constructor(
		private readonly _editor: ICodeEditor,
		quickFixActionId: string,
		preferredFixActionId: string,
		private readonly delegate: {
			applyCodeAction: (action: CodeActionItem, regtriggerAfterApply: boolean, preview: boolean) => Promise<void>;
		},
		@IConfigurationService private readonly _configurationService: IConfigurationService,
		@IInstantiationService readonly instantiationService: IInstantiationService,
		@IActionWidgetService private readonly _actionWidgetService: IActionWidgetService,
		@ICommandService private readonly _commandService: ICommandService,
	) {
		super();

		this._lightBulbWidget = new Lazy(() => {
			const widget = this._register(instantiationService.createInstance(LightBulbWidget, this._editor, quickFixActionId, preferredFixActionId));
			this._register(widget.onClick(e => this.showCodeActionList(e.actions, e, { includeDisabledActions: false, fromLightbulb: true })));
			return widget;
		});

		this._register(this._editor.onDidLayoutChange(() => this._actionWidgetService.hide()));
	}