src/vs/workbench/api/browser/mainThreadOutputService.ts/MainThreadOutputService/$register
class MainThreadOutputService:	public $register(label: string, log: boolean, file?: UriComponents): Promise<string> {
		const id = 'extension-output-#' + (MainThreadOutputService._idPool++);
		Registry.as<IOutputChannelRegistry>(Extensions.OutputChannels).registerChannel({ id, label, file: file ? URI.revive(file) : undefined, log });
		this._register(toDisposable(() => this.$dispose(id)));
		return Promise.resolve(id);
	}