src/vs/workbench/contrib/extensions/browser/extensionsWidgets.ts/SyncIgnoredWidget/constructor
class SyncIgnoredWidget:	constructor(
		container: HTMLElement,
		@IConfigurationService private readonly configurationService: IConfigurationService,
		@IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService,
		@IUserDataAutoSyncEnablementService private readonly userDataAutoSyncEnablementService: IUserDataAutoSyncEnablementService,
	) {
		super();
		this.element = append(container, $('span.extension-sync-ignored' + ThemeIcon.asCSSSelector(syncIgnoredIcon)));
		this.element.title = localize('syncingore.label', "This extension is ignored during sync.");
		this.element.classList.add(...ThemeIcon.asClassNameArray(syncIgnoredIcon));
		this.element.classList.add('hide');
		this._register(Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectedKeys.includes('settingsSync.ignoredExtensions'))(() => this.render()));
		this._register(userDataAutoSyncEnablementService.onDidChangeEnablement(() => this.update()));
		this.render();
	}