Skip to content

Do not wait for shell environment resolution before opening window #108804

@joaomoreno

Description

@joaomoreno

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:

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

  • 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

Child Processes

Metadata

Metadata

Assignees

Labels

debtCode quality issuesimportantIssue identified as high-priorityinsiders-releasedPatch has been released in VS Code Insidersperf-startup

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions