Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita1bf964

Browse files
committed
Terminal editors are always marked dirty.
1 parent9549c24 commita1bf964

File tree

7 files changed

+62
-23
lines changed

7 files changed

+62
-23
lines changed

‎src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -282,22 +282,20 @@ class SharedProcessMain extends Disposable {
282282
services.set(IUserDataSyncResourceEnablementService,newSyncDescriptor(UserDataSyncResourceEnablementService));
283283
services.set(IUserDataSyncService,newSyncDescriptor(UserDataSyncService));
284284

285-
// Terminal
286-
services.set(
287-
ILocalPtyService,
288-
this._register(
289-
newPtyHostService({
290-
graceTime:LocalReconnectConstants.GraceTime,
291-
shortGraceTime:LocalReconnectConstants.ShortGraceTime,
292-
scrollback:configurationService.getValue<number>(TerminalSettingId.PersistentSessionScrollback)??100
293-
},
294-
configurationService,
295-
environmentService,
296-
logService,
297-
telemetryService
298-
)
299-
)
285+
constptyHostService=newPtyHostService({
286+
graceTime:LocalReconnectConstants.GraceTime,
287+
shortGraceTime:LocalReconnectConstants.ShortGraceTime,
288+
scrollback:configurationService.getValue<number>(TerminalSettingId.PersistentSessionScrollback)??100
289+
},
290+
configurationService,
291+
environmentService,
292+
logService,
293+
telemetryService
300294
);
295+
awaitptyHostService.initialize();
296+
297+
// Terminal
298+
services.set(ILocalPtyService,this._register(ptyHostService));
301299

302300
// Extension Host
303301
services.set(IExtensionHostStarter,this._register(newExtensionHostStarter(logService)));

‎src/vs/platform/terminal/common/terminal.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export const enum TerminalSettingId {
9696
PersistentSessionScrollback='terminal.integrated.persistentSessionScrollback',
9797
InheritEnv='terminal.integrated.inheritEnv',
9898
ShowLinkHover='terminal.integrated.showLinkHover',
99+
IgnoreProcessNames='terminal.integrated.ignoreProcessNames',
99100
}
100101

101102
exportenumWindowsShellType{
@@ -289,6 +290,8 @@ export interface IPtyService {
289290
reviveTerminalProcesses(state:string):Promise<void>;
290291
refreshProperty(id:number,property:ProcessPropertyType):Promise<any>;
291292
updateProperty(id:number,property:ProcessPropertyType,value:any):Promise<void>;
293+
294+
setIgnoreProcessNames(names:string[]):Promise<void>;
292295
}
293296

294297
exportinterfaceIRequestResolveVariablesEvent{

‎src/vs/platform/terminal/common/terminalPlatformConfiguration.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,22 @@ const terminalPlatformConfiguration: IConfigurationNode = {
371371
description:localize('terminal.integrated.showLinkHover',"Whether to show hovers for links in the terminal output."),
372372
type:'boolean',
373373
default:true
374+
},
375+
[TerminalSettingId.IgnoreProcessNames]:{
376+
description:localize('terminal.integrated.confirmIgnoreProcesses',"Configurable to provide a custom setting to ignore processes"),
377+
type:'array',
378+
items:{
379+
type:'string',
380+
uniqueItems:true
381+
},
382+
default:[
383+
// Popular prompt programs, these should not count as child processes
384+
'starship',
385+
'oh-my-posh',
386+
// Git bash may runs a subprocess of itself (bin\bash.exe -> usr\bin\bash.exe)
387+
'bash',
388+
'zsh',
389+
]
374390
}
375391
}
376392
};

‎src/vs/platform/terminal/node/childProcessMonitor.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,7 @@ const enum Constants {
2222
ActiveDebounceDuration=1000,
2323
}
2424

25-
constignoreProcessNames=[
26-
// Popular prompt programs, these should not count as child processes
27-
'starship',
28-
'oh-my-posh',
29-
// Git bash may runs a subprocess of itself (bin\bash.exe -> usr\bin\bash.exe)
30-
'bash',
31-
];
25+
exportconstignoreProcessNames:string[]=[];
3226

3327
/**
3428
* Monitors a process for child processes, checking at differing times depending on input and output

‎src/vs/platform/terminal/node/ptyHostService.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { ILogService } from 'vs/platform/log/common/log';
1717
import{LogLevelChannelClient}from'vs/platform/log/common/logIpc';
1818
import{ITelemetryService}from'vs/platform/telemetry/common/telemetry';
1919
import{RequestStore}from'vs/platform/terminal/common/requestStore';
20-
import{HeartbeatConstants,IHeartbeatService,IProcessDataEvent,IPtyService,IReconnectConstants,IRequestResolveVariablesEvent,IShellLaunchConfig,ITerminalDimensionsOverride,ITerminalLaunchError,ITerminalProfile,ITerminalsLayoutInfo,TerminalIcon,TerminalIpcChannels,IProcessProperty,TerminalShellType,TitleEventSource,ProcessPropertyType,ProcessCapability,IProcessPropertyMap}from'vs/platform/terminal/common/terminal';
20+
import{HeartbeatConstants,IHeartbeatService,IProcessDataEvent,IPtyService,IReconnectConstants,IRequestResolveVariablesEvent,IShellLaunchConfig,ITerminalDimensionsOverride,ITerminalLaunchError,ITerminalProfile,ITerminalsLayoutInfo,TerminalIcon,TerminalIpcChannels,IProcessProperty,TerminalShellType,TitleEventSource,ProcessPropertyType,ProcessCapability,IProcessPropertyMap,TerminalSettingId}from'vs/platform/terminal/common/terminal';
2121
import{registerTerminalPlatformConfiguration}from'vs/platform/terminal/common/terminalPlatformConfiguration';
2222
import{IGetTerminalLayoutInfoArgs,IProcessDetails,IPtyHostProcessReplayEvent,ISetTerminalLayoutInfoArgs}from'vs/platform/terminal/common/terminalProcess';
2323
import{detectAvailableProfiles}from'vs/platform/terminal/node/terminalProfiles';
@@ -109,6 +109,24 @@ export class PtyHostService extends Disposable implements IPtyService {
109109
this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables);
110110

111111
[this._client,this._proxy]=this._startPtyHost();
112+
113+
this._register(this._configurationService.onDidChangeConfiguration(asynce=>{
114+
if(e.affectsConfiguration(TerminalSettingId.IgnoreProcessNames)){
115+
awaitthis.setIgnoreProcessNames(this.ignoreProcessNames);
116+
}
117+
}));
118+
}
119+
120+
asyncinitialize():Promise<void>{
121+
awaitthis.setIgnoreProcessNames(this.ignoreProcessNames);
122+
}
123+
124+
privategetignoreProcessNames():string[]{
125+
returnthis._configurationService.getValue<string[]>(TerminalSettingId.IgnoreProcessNames);
126+
}
127+
128+
setIgnoreProcessNames(names:string[]):Promise<void>{
129+
returnthis._proxy.setIgnoreProcessNames(names);
112130
}
113131

114132
privateasync_resolveShellEnv():Promise<typeofprocess.env>{

‎src/vs/platform/terminal/node/ptyService.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { IGetTerminalLayoutInfoArgs, IProcessDetails, IPtyHostProcessReplayEvent
2222
import{getWindowsBuildNumber}from'vs/platform/terminal/node/terminalEnvironment';
2323
import{TerminalProcess}from'vs/platform/terminal/node/terminalProcess';
2424
import{localize}from'vs/nls';
25+
import{ignoreProcessNames}from'vs/platform/terminal/node/childProcessMonitor';
2526

2627
typeWorkspaceId=string;
2728

@@ -81,6 +82,14 @@ export class PtyService extends Disposable implements IPtyService {
8182
this._detachInstanceRequestStore=this._register(newRequestStore(undefined,this._logService));
8283
this._detachInstanceRequestStore.onCreateRequest(this._onDidRequestDetach.fire,this._onDidRequestDetach);
8384
}
85+
86+
setIgnoreProcessNames(names:string[]):Promise<void>{
87+
returnnewPromise((_resolve,_reject)=>{
88+
ignoreProcessNames.length=0;
89+
ignoreProcessNames.push(...names);
90+
});
91+
}
92+
8493
onPtyHostExit?:Event<number>|undefined;
8594
onPtyHostStart?:Event<void>|undefined;
8695
onPtyHostUnresponsive?:Event<void>|undefined;

‎src/vs/workbench/contrib/terminal/common/terminal.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ export interface ITerminalConfiguration {
209209
defaultLocation:TerminalLocationString;
210210
customGlyphs:boolean;
211211
persistentSessionReviveProcess:'onExit'|'onExitAndWindowClose'|'never';
212+
ignoreProcessNames:string[];
212213
}
213214

214215
exportconstDEFAULT_LOCAL_ECHO_EXCLUDE:ReadonlyArray<string>=['vim','vi','nano','tmux'];

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp