Skip to content

Update language server guides to use pull diagnostics - #10260

Merged
Joaquín Ruales (jruales) merged 9 commits into
mainfrom
jruales/update-lsp-pull-diagnostics-docs
Sep 6, 2026
Merged

Update language server guides to use pull diagnostics#10260
Joaquín Ruales (jruales) merged 9 commits into
mainfrom
jruales/update-lsp-pull-diagnostics-docs

Conversation

@jruales

@jruales Joaquín Ruales (jruales) commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Follow-up to microsoft/vscode-extension-samples#1181 and microsoft/vscode-extension-samples#973: align the language server guides with the sample's pull-diagnostics implementation.

Changes

  • Update diagnostics examples, configuration refresh handling, and dependency versions; explain both pull and push diagnostics.
  • Correct server debugging to use automatic child-process attachment.
  • Refresh the diagnostics trace and server-debugging screenshots.

Validation

Compiled and ran the exact documented client/server in VS Code. Verified diagnostics, settings refresh, unsaved edits clearing problems, and automatic attachment at a TypeScript server breakpoint. LSP IPC tests, whitespace checks, and Git LFS checks pass.

Follow up on microsoft/vscode-extension-samples#1181 by updating the server walkthrough and documenting both diagnostics models.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Capture the merged sample in an isolated VS Code extension development host and update the logging explanation and alt text.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explain capability flags, full reports, and refresh requests. Keep contextual comments and use one explicit handler return type instead of repeated satisfies expressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use Launch Client's automatic child-process attachment and replace the obsolete manual-attach screenshot with a verified TypeScript breakpoint capture.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

It introduces a Markdown table formatting break and an incorrect tracing setting identifier that should be corrected before merge.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 2 Low severity

New issues introduced by this change (2)
Severity Finding
Low severity api/​language-extensions/​language-server-extension-guide.md[langId].trace.server is not the setting name used by the sample or vscode-languageclient; the…
Low severity api/​language-extensions/​programmatic-language-features.md — The inline-completion row is missing its leading |, which breaks the Markdown table formatting.
What changed in this PR

This PR updates the VS Code language server documentation guides to align the diagnostics examples with the current pull diagnostics model used by the vscode-extension-samples language server sample, and refreshes related debugging and tracing guidance.

Changes:

  • Update diagnostics documentation to explain pull vs push diagnostics, and update the language server guide’s example server implementation to use textDocument/diagnostic and workspace/diagnostic/refresh.
  • Update the language server guide to rely on VS Code’s automatic child-process attachment for server debugging, and bump the documented dependency versions to match the sample.
  • Refresh screenshots for diagnostics tracing and server debugging (Git LFS pointers updated).
File Description
api/​language-extensions/​programmatic-language-features.md Updates diagnostics references to include both LSP pull and push diagnostics.
api/​language-extensions/​language-server-extension-guide.md Updates the walkthrough code and narrative to use pull diagnostics + refresh, updates dependency versions, and modernizes debugging guidance.
api/​language-extensions/​images/​language-server-extension-guide/​lsp-log.png Updates the diagnostics trace screenshot (LFS pointer change).
api/​language-extensions/​images/​language-server-extension-guide/​debugging-server.png Updates the server debugging screenshot (LFS pointer change).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread api/language-extensions/language-server-extension-guide.md Outdated
Comment thread api/language-extensions/programmatic-language-features.md Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The changes are technically consistent with the intended diagnostics/debugging updates, with only minor documentation wording/consistency nits noted.

Review tier: Lite
Findings: None

Issues resolved since last review (2)
Severity Finding
Low severity api/​language-extensions/​programmatic-language-features.md — The inline-completion row is missing its leading |, which breaks the Markdown table formatting. View resolved comment
Low severity api/​language-extensions/​language-server-extension-guide.md[langId].trace.server is not the setting name used by the sample or vscode-languageclient; the… View resolved comment
Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

api/language-extensions/language-server-extension-guide.md:562

  • This section refers to the Run and Debug view, but the earlier step list still says Run view. Update the step list so the instructions use the current view name consistently.
    api/language-extensions/programmatic-language-features.md:84
  • Minor grammar: “with the pull or push model” reads awkwardly; “using the pull or push model” is clearer.

@jruales
Joaquín Ruales (jruales) merged commit eaff49a into main Sep 6, 2026
5 of 6 checks passed
@jruales
Joaquín Ruales (jruales) deleted the jruales/update-lsp-pull-diagnostics-docs branch September 6, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants