src/vs/workbench/services/extensions/electron-sandbox/nativeLocalProcessExtensionHost.ts/NativeLocalProcessExtensionHost/_start
class NativeLocalProcessExtensionHost:	protected override async _start(): Promise<IMessagePassingProtocol> {
		const canUseUtilityProcess = await this._extensionHostStarter.canUseUtilityProcess();
		if (canUseUtilityProcess && (this._configurationService.getValue<boolean | undefined>('extensions.experimental.useUtilityProcess') || process.sandboxed)) {
			const communication = this._toDispose.add(new ExtHostMessagePortCommunication(this._logService));
			return this._startWithCommunication(communication);
		} else {
			const communication = this._toDispose.add(new ExtHostNamedPipeCommunication(this._logService));
			return this._startWithCommunication(communication);
		}
	}