提交 e3708926 编写于 作者: D Daniel Imms

Make command set the config

上级 ae219466
...@@ -14,6 +14,7 @@ import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; ...@@ -14,6 +14,7 @@ import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
import { IPartService } from 'vs/workbench/services/part/common/partService'; import { IPartService } from 'vs/workbench/services/part/common/partService';
import { IWindowIPCService } from 'vs/workbench/services/window/electron-browser/windowService'; import { IWindowIPCService } from 'vs/workbench/services/window/electron-browser/windowService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IConfigurationEditingService, ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
import { IQuickOpenService, IPickOpenEntry, IPickOptions } from 'vs/platform/quickOpen/common/quickOpen'; import { IQuickOpenService, IPickOpenEntry, IPickOptions } from 'vs/platform/quickOpen/common/quickOpen';
import { ITerminalInstance, ITerminalService, IShellLaunchConfig, ITerminalConfigHelper } from 'vs/workbench/parts/terminal/common/terminal'; import { ITerminalInstance, ITerminalService, IShellLaunchConfig, ITerminalConfigHelper } from 'vs/workbench/parts/terminal/common/terminal';
import { TerminalService as AbstractTerminalService } from 'vs/workbench/parts/terminal/common/terminalService'; import { TerminalService as AbstractTerminalService } from 'vs/workbench/parts/terminal/common/terminalService';
...@@ -34,7 +35,8 @@ export class TerminalService extends AbstractTerminalService implements ITermina ...@@ -34,7 +35,8 @@ export class TerminalService extends AbstractTerminalService implements ITermina
@ILifecycleService _lifecycleService: ILifecycleService, @ILifecycleService _lifecycleService: ILifecycleService,
@IInstantiationService private _instantiationService: IInstantiationService, @IInstantiationService private _instantiationService: IInstantiationService,
@IWindowIPCService private _windowService: IWindowIPCService, @IWindowIPCService private _windowService: IWindowIPCService,
@IQuickOpenService private _quickOpenService: IQuickOpenService @IQuickOpenService private _quickOpenService: IQuickOpenService,
@IConfigurationEditingService private _configurationEditingService: IConfigurationEditingService
) { ) {
super(_contextKeyService, _configurationService, _panelService, _partService, _lifecycleService); super(_contextKeyService, _configurationService, _panelService, _partService, _lifecycleService);
...@@ -66,7 +68,12 @@ export class TerminalService extends AbstractTerminalService implements ITermina ...@@ -66,7 +68,12 @@ export class TerminalService extends AbstractTerminalService implements ITermina
placeHolder: nls.localize('terminal.integrated.chooseWindowsShell', "Select your preferred terminal shell, you can change this later in your settings") placeHolder: nls.localize('terminal.integrated.chooseWindowsShell', "Select your preferred terminal shell, you can change this later in your settings")
}; };
return this._quickOpenService.pick(shells, options).then(value => { return this._quickOpenService.pick(shells, options).then(value => {
return TPromise.as(value ? value.description : null); if (!value) {
return null;
}
const shell = value.description;
const configChange = { key: 'terminal.integrated.shell.windows', value: shell };
return this._configurationEditingService.writeConfiguration(ConfigurationTarget.USER, configChange).then(() => shell);
}); });
}); });
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册