PowerShell / PowerShell/PowerShellEditorServices

Request referenced files from the client instead of attempting to load from the language service

Open
#187 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Enhancement
Dominant language
C#
Stars
767
Forks
266
Avg merge
3d 16h
Merged PRs (30d)
1

Description

Currently any files that are referenced from an edited script (i.e. dot-source references) are being resolved and loaded by the language service. Since we want to target remote editing scenarios (language service running in a web service), we need to shift the file resolution responsibility to the client so that it can resolve files with respect to its own workspace.

This will require the introduction of new protocol request/response types which allow the server to request files from the client. The core PSES API will handle this behavior through an interface so that file resolver implementations can be chosen at runtime.

This bug in vscode-powershell should benefit from the improvement: https://github.com/PowerShell/vscode-powershell/issues/31

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the language service currently resolves dot-source references and review the proposed protocol request/response types and core PSES file-resolver interface. Done means the client resolves referenced files in its own workspace, the server requests them through the protocol, and resolver implementations can be selected at runtime.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, powershell
Domain
api, backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.