Proposal: separate language support from vscode-R again
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- r, typescript, vscode
調査の方向性
The issue names no implementation files or tests. Start by reviewing the existing language-server integration and related issues #1540 and #1648, then compare the proposed minimal extraction with the extension-pack structure. Done would be an agreed extraction approach with minimal behavior changes; the larger runtime split is explicitly separate.
索引モデルが issue の本文から書いたものです。
説明
I would like to reconsider separating the language-server integration from vscode-R, similar to the old vscode-r-lsp, and eventually make REditorSupport.r an extension pack / umbrella extension.
When vscode-r-lsp was merged into vscode-R in 2.1.0 (#695), languageserver was effectively the standard choice for R language intelligence.
That is no longer the case.
The R editor ecosystem now has several actively developed, independently distributed tools with VS Code extensions:
- Air provides a very fast Rust-based formatter and language server.
- Jarl provides a fast Rust-based linter with diagnostics and automatic fixes.
- Arity provides a full Rust-based language server with completion, hover, go-to-definition/references, rename, diagnostics, semantic tokens, and more.
- Posit's Oak may become another standalone R language server in the future.
In particular, these newer tools are designed around fast static analysis.
Given this ecosystem, it no longer seems ideal for vscode-R itself to own one particular LSP client/runtime combination.
VS Code ecosystems such as Python and Java also separate language support and other tooling into independently maintained extensions, often combined through an extension pack.
A possible long-term structure would be:
REditorSupport.r # extension pack / main entry point
├─ REditorSupport.r-syntax
├─ REditorSupport.r-runtime
└─ REditorSupport.r-lsp # current languageserver-based integration
r-lsp could remain the default language support installed by the pack, while users could disable or replace it with Air, Jarl, Arity, or future alternatives without fighting functionality bundled into the main extension.
The first step could simply be extracting the existing LSP client with minimal behavior changes.
A larger runtime split can be discussed separately.
Related to #1540, #1648
- 主要言語
- TypeScript
- スター
- 1.2k
- フォーク
- 139
- 平均マージ
- 16時間 16分
- マージ済み PR(30日)
- 11
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
REditorSupport/vscode-R のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
REditorSupport/vscode-R#1687 · コメント 4 件 · リアクション 3 件 ·
-
feature-request
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
REditorSupport/vscode-R#1763 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
REditorSupport/vscode-R#1756 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
REditorSupport/vscode-R#1755 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
REditorSupport/vscode-R#1751 · コメント 1 件 ·
REditorSupport/vscode-R の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
security
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
IBM/node-sdk-core#373 ·
-
e2e-failure ready-to-code
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
chore
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100