vscode-R 3.2.2 spawns 8 Rterm processes when opening a trivial .R file

オープン
#1,923 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
活発
技術スタック
r, typescript
領域
devtools

調査の方向性

Reproduce on a clean profile with only the R extensions and watch the process tree when a trivial .R file opens. The payload names the settings r.sessionWatcher, r.lsp.enabled, r.interactive.restore and r.interactive.executionTarget, so trace which startup path launches the extra Rterm.exe workers, starting from the session-startup code. Done means either a setting or code change that stops the automatic spawning, or a confirmed diagnosis of why it is expected.

索引モデルが issue の本文から書いたものです。

説明

Environment
  • VS Code: 1.113.0
  • OS: Windows 11 (10.0.26300), x64
  • vscode-R: 3.2.2
  • R: 4.5.1
Reproduction
  1. Use a clean VS Code profile containing only REditorSupport.r and REditorSupport.r-syntax.
  2. Open a trivial test.R containing x <- 1.
  3. Do not run any R code.
  4. Observe the R process tree.

Result: one Rterm.exe starts at about 243 MB and immediately spawns 7 child Rterm.exe processes at roughly 86-105 MB each. This happens on every new window/profile and can exceed 1 GB per R session.

The same behavior occurs with:

{
  "r.sessionWatcher": false,
  "r.lsp.enabled": false,
  "r.interactive.restore": false,
  "r.interactive.executionTarget": "terminal"
}

Control tests:

  • A profile containing only REditorSupport.r-syntax produces no R/Rterm processes.
  • Running Rterm.exe --vanilla -e 1 directly produces no child Rterm processes.

This strongly suggests the vscode-R startup path is spawning the workers, not VS Code itself or the base R installation.

Question

Is this automatic worker startup expected? If not, what setting disables it, or what diagnostic output should I collect for the R Interactive/session startup path?

主要言語
TypeScript
スター
1.2k
フォーク
152
平均マージ
18時間 28分
マージ済み PR(30日)
56

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

REditorSupport/vscode-R のほかの issue

REditorSupport/vscode-R の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。