src/vs/workbench/contrib/codeEditor/browser/untitledTextEditorHint.ts/UntitledTextEditorHintContentWidget/getDomNode
class UntitledTextEditorHintContentWidget:	getDomNode(): HTMLElement {
		if (!this.domNode) {
			this.domNode = $('.untitled-hint');
			this.domNode.style.width = 'max-content';
			const language = $('a.language-mode');
			language.style.cursor = 'pointer';
			language.innerText = localize('selectAlanguage2', "Select a language");
			const languageKeyBinding = this.keybindingService.lookupKeybinding(ChangeLanguageAction.ID);
			const languageKeybindingLabel = languageKeyBinding?.getLabel();
			if (languageKeybindingLabel) {
				language.title = localize('keyboardBindingTooltip', "{0}", languageKeybindingLabel);
			}
			this.domNode.appendChild(language);
			const toGetStarted = $('span');
			toGetStarted.innerText = localize('toGetStarted', " to get started. Start typing to dismiss, or ",);
			this.domNode.appendChild(toGetStarted);

			const dontShow = $('a');
			dontShow.style.cursor = 'pointer';
			dontShow.innerText = localize('dontshow', "don't show");
			this.domNode.appendChild(dontShow);

			const thisAgain = $('span');
			thisAgain.innerText = localize('thisAgain', " this again.");
			this.domNode.appendChild(thisAgain);
			this.toDispose.push(Gesture.addTarget(this.domNode));
			const languageOnClickOrTap = async (e: MouseEvent) => {
				e.stopPropagation();
				// Need to focus editor before so current editor becomes active and the command is properly executed
				this.editor.focus();
				await this.commandService.executeCommand(ChangeLanguageAction.ID, { from: 'hint' });
				this.editor.focus();
			};
			this.toDispose.push(dom.addDisposableListener(language, 'click', languageOnClickOrTap));
			this.toDispose.push(dom.addDisposableListener(language, GestureEventType.Tap, languageOnClickOrTap));
			this.toDispose.push(Gesture.addTarget(language));

			const dontShowOnClickOrTap = () => {
				this.configurationService.updateValue(untitledTextEditorHintSetting, 'hidden');
				this.dispose();
				this.editor.focus();
			};
			this.toDispose.push(dom.addDisposableListener(dontShow, 'click', dontShowOnClickOrTap));
			this.toDispose.push(dom.addDisposableListener(dontShow, GestureEventType.Tap, dontShowOnClickOrTap));
			this.toDispose.push(Gesture.addTarget(dontShow));

			this.toDispose.push(dom.addDisposableListener(this.domNode, 'click', () => {
				this.editor.focus();
			}));

			this.domNode.style.fontStyle = 'italic';
			this.domNode.style.paddingLeft = '4px';
			this.editor.applyFontInfo(this.domNode);
		}

		return this.domNode;
	}