src/vs/workbench/api/common/extHostTerminalService.ts/ExtHostTerminal/create
class ExtHostTerminal:	public async create(
		options: vscode.TerminalOptions,
		internalOptions?: ITerminalInternalOptions,
	): Promise<void> {
		if (typeof this._id !== 'string') {
			throw new Error('Terminal has already been created');
		}
		await this._proxy.$createTerminal(this._id, {
			name: options.name,
			shellPath: withNullAsUndefined(options.shellPath),
			shellArgs: withNullAsUndefined(options.shellArgs),
			cwd: withNullAsUndefined(options.cwd),
			env: withNullAsUndefined(options.env),
			icon: withNullAsUndefined(asTerminalIcon(options.iconPath)),
			color: ThemeColor.isThemeColor(options.color) ? options.color.id : undefined,
			initialText: withNullAsUndefined(options.message),
			strictEnv: withNullAsUndefined(options.strictEnv),
			hideFromUser: withNullAsUndefined(options.hideFromUser),
			isFeatureTerminal: withNullAsUndefined(internalOptions?.isFeatureTerminal),
			isExtensionOwnedTerminal: true,
			useShellEnvironment: withNullAsUndefined(internalOptions?.useShellEnvironment),
			location: internalOptions?.location || this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier),
			isTransient: withNullAsUndefined(options.isTransient)
		});
	}