Separate language support from vscode-R again
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 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
- 平均合并
- 19 小时 46 分钟
- 30 天内合并 PR
- 26
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
REditorSupport/vscode-R 的其他 Issue
-
feature-request
难度 2/5 1-3 小时 新手友好度 72/100
REditorSupport/vscode-R#1793 · 3 条评论 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
REditorSupport/vscode-R#1785 · 2 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
REditorSupport/vscode-R#1687 · 4 条评论 · 3 个 reaction ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 58/100
REditorSupport/vscode-R#1800 ·
维护者通常 1 天内回复
-
bug
难度 4/5 3-5 天 新手友好度 48/100
REditorSupport/vscode-R#1799 ·
维护者通常 1 天内回复
查看 REditorSupport/vscode-R 的全部 Issue
相似的 Issue
-
priority: P2
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 65/100
prime-radiant-inc/evener#3291 ·
维护者通常 1 天内回复
-
accessibility bug revealjs
难度 2/5 1-3 小时 新手友好度 84/100
quarto-dev/quarto-cli#14961 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100
supabase/agent-skills#614 ·
-
Content
难度 2/5 1-3 小时 新手友好度 68/100
RunestoneInteractive/rs#1559 · 1 条评论 ·
维护者通常 2 天内回复