-
Notifications
You must be signed in to change notification settings - Fork 34.6k
Description
Details: #106537 (comment)
Today: The workbench depends on user env to be resolved. Resolving user env envolves spawning a shell and executing the user's init scripts. This can take long.
Ideally: The user env is only required for specific features: opening terminals, spawning tasks, spawning extension host. Until it's resolved, many other features should actually work, ie explorer, editor, etc.
Related:
- Support per-window variable environments #15452
- Preserve per-window environment variables between workspace changes #108571
- Correctly inherit/don't inherit the shell environment #55194
- Path issues with -i #30847
Adoption
I made a pass over usages of process environment by looking at:
- direct use of
process.env
- usages of
IProcessEnvironment
- clients of
vs/base/parts/ipc/node/ipc.cp
that spawn child processes
Assigning people based on areas and usages. Feel free to remove yourself and your items when this change needs no adoption in your area.
-
Terminal @Tyriar @meganrogge
-
vs/base/node/shell.ts
@TylerLeonhardt
-
-
Debug @weinand
-
vs/workbench/contrib/debug/browser/rawDebugSession.ts
-
vs/workbench/contrib/debug/node/debugAdapter.ts
(only runs in EH -> nothing to do)
-
-
Tasks @alexr00
-
vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts
-
vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService.ts
-
-
Proxy @chrmarti
-
vs/platform/request/node/proxy.ts
-
vs/workbench/services/extensions/node/proxyResolver.ts