diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c0091396b..d49b5cfa8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,6 @@
# Contributing to vscode-r
-If you are interested in writing code to fix issues, please see [How to Contribute](https://github.com/REditorSupport/vscode-R/wiki/Contributing) in the wiki.
+If you are interested in writing code to fix issues, please see [Contributing](https://reditorsupport.github.io/vscode-R/contributing) on the documentation site.
## Debugging the extension
@@ -84,7 +84,7 @@ Interactive session. Run the source/bootstrap checks with
## Testing R Interactive
-The [architecture and backend contract](src/interactive/README.md) live beside the implementation. User setup and behavior belong in the [R Interactive wiki page](https://github.com/REditorSupport/vscode-R/wiki/R-Interactive).
+The [architecture and backend contract](src/interactive/README.md) live beside the implementation. User setup and behavior belong in the [R Interactive documentation page](https://reditorsupport.github.io/vscode-R/features/r-interactive).
Use Linux or macOS for Interactive runtime tests, with R and an installed arf 0.5.3 executable. Bundled sess is pure R and needs no compiler when its Imports are already installed; missing Imports are installed from the configured repository. Windows runs the remaining extension checks; persistent Interactive supervision remains limited to Linux/macOS. From the repository root, after installing pnpm dependencies, prepare a test library:
@@ -96,7 +96,7 @@ pnpm run build
Rscript -e 'tinytest::test_package("sess")'
```
-`pnpm run build` installs the bundled sess and its dependencies, including suggested packages, into the selected R library. JGD checks need `jgd` and `systemfonts`; standard graphics uses `svglite` or PNG. Runtime suites build private pure R sess installations and use disposable sessions/libraries. Keep `R_LIBS` set for the commands below.
+`pnpm run build` installs the bundled sess and its dependencies, including suggested packages, into the selected R library. jgd checks need the jgd and systemfonts packages; standard graphics uses svglite or PNG. Runtime suites build private pure R sess installations and use disposable sessions/libraries. Keep `R_LIBS` set for the commands below.
```sh
pnpm run test:interactive
diff --git a/README.md b/README.md
index 56c9ef4a6..abfe82f17 100644
--- a/README.md
+++ b/README.md
@@ -2,131 +2,33 @@
-
-
-
+
+
+
-This [VS Code](https://code.visualstudio.com/) extension provides support for the [R programming language](https://www.r-project.org), including features such as R language service based on code analysis, interacting with R terminals, viewing data, plots, workspace variables, help pages, managing packages, and working with [R Markdown](https://rmarkdown.rstudio.com/) documents. See the [wiki](https://github.com/REditorSupport/vscode-R/wiki) for full documentation.
+This [VS Code](https://code.visualstudio.com/) extension provides support for the [R programming language](https://www.r-project.org), including an R language service based on code analysis, interaction with R terminals, viewers for data, plots, workspace variables, and help pages, package management, and [R Markdown](https://rmarkdown.rstudio.com/) support.
-The R and R Markdown syntaxes are located in a sibling package [vscode-R-syntax](https://github.com/REditorSupport/vscode-R-syntax).
+**Documentation: **
-## What's new in 3.0.0
-
-v3.0.0 is a major release with faster, more reliable R session communication,
-powered by the [`sess`](./sess/README.md) package. The extension includes `sess`
-and prompts to install or update the bundled copy when needed. Missing Imports
-are installed from the configured R repository. See the [changelog](./CHANGELOG.md)
-for other changes and upgrade notes.
+See [Getting Started](https://reditorsupport.github.io/vscode-R/getting-started) for an overview, and the installation guides for [Windows](https://reditorsupport.github.io/vscode-R/installation/windows), [macOS](https://reditorsupport.github.io/vscode-R/installation/macos), and [Linux](https://reditorsupport.github.io/vscode-R/installation/linux) for detailed setup instructions.
## Quickstart
-1. [Install R](https://cloud.r-project.org/) (>= 3.4.0) on your system. On Windows, we recommend letting the installer write the R path to the registry.
+1. [Install R](https://cloud.r-project.org/) (>= 3.4.0).
-2. Install the [`languageserver`](https://github.com/REditorSupport/languageserver) package from R.
+2. Install the [languageserver](https://github.com/REditorSupport/languageserver) package from R.
```r
install.packages("languageserver")
```
-3. Install the stable release of this extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=reditorsupport.r) or the [Open VSX Registry](https://open-vsx.org/extension/reditorsupport/r). This release requires VS Code 1.101.0 or later.
-
- ```sh
- code --install-extension REditorSupport.r
- ```
-
- To receive daily development updates, choose **Switch to Pre-Release Version** on the R extension's page in VS Code. New pre-releases are published to the VS Code Marketplace and Open VSX Registry when `main` changes and verification passes. Choose **Switch to Release Version** to return to stable releases. When reporting problems, include the extension version and reproduction steps.
-
- Alternatively, you can test the latest development version by installing from GitHub:
-
-
- Install the development version
-
- The [`latest`](https://github.com/REditorSupport/vscode-R/releases/tag/latest)
- pre-release is updated after successful verification of a push to `main`. Download and install it:
-
- ```sh
- curl -fsSL -o vscode-R.vsix https://github.com/REditorSupport/vscode-R/releases/download/latest/vscode-R.vsix
- code --install-extension vscode-R.vsix
- ```
-
-
-
-4. Create an R file and start coding! (Click **Yes** if prompted to install `sess`.)
-
-### Recommended extras
-
-Steps 1–3 above are all that's required to get started with R in VS Code. But we also recommend the following software for a fully optimized R + VS Code experience:
-
-* Install an interactive plotting backend for a better R graphics experience:
- * [jgd](https://github.com/grantmcdermott/jgd): Lightweight JSON graphics device with native vscode-R integration. If it is not installed, vscode-R can offer to install it into a vscode-R-managed library without changing your R libraries.
- * [httpgd](https://github.com/nx10/httpgd): SVG-based graphics device served via HTTP and WebSockets.
-
-* [arf](https://github.com/eitsupi/arf): A modern R console with many features: syntax highlighting, multiline editing, vi/emacs keybindings, R version switching, etc. Successor to [radian](https://github.com/randy3k/radian) written in Rust.
-
-* Complementary VS Code extensions:
- * [Quarto](https://marketplace.visualstudio.com/items?itemName=quarto.quarto): the official Quarto plugin for VS Code.
- * [VSCode-R-Debugger](https://github.com/ManuelHentschel/VSCode-R-Debugger): enables VS Code's debugging facilities for R scripts.
-
-For example, assuming that you have installed `arf` and `jgd`, your user `settings.json` might include:
-
-```jsonc
-{
- "r.consolePath": "arf",
- "r.bracketedPaste": true, // recommended for arf (and radian)
- "r.plot.backend": "jgd" // "auto" already prefers jgd, then httpgd
-}
-```
-
-Please consult the relevant installation wiki pages for your OS ([Windows](https://github.com/REditorSupport/vscode-R/wiki/Installation:-Windows) | [macOS](https://github.com/REditorSupport/vscode-R/wiki/Installation:-macOS) | [Linux](https://github.com/REditorSupport/vscode-R/wiki/Installation:-Linux)) for more detailed instructions.
-
-Set `r.plot.backend` to `"native"` to use R's configured graphics device without
-opening the VS Code plot viewer automatically. The `"standard"` backend continues
-to display static plots in VS Code.
+3. Install this extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=REditorSupport.r) or the [Open VSX Registry](https://open-vsx.org/extension/REditorSupport/r). It requires VS Code 1.101.0 or later.
-## Features
+4. Create an R file and start coding! (Click **Yes** if prompted to install sess.)
-* Snippets for R and R Markdown.
-
-* [R Language Service](https://github.com/REditorSupport/vscode-R/wiki/R-Language-Service): Code completion, function signature, symbol highlight, document outline, formatting, definition, diagnostics, references, and more.
-
-* [Interacting with R terminals](https://github.com/REditorSupport/vscode-R/wiki/Interacting-with-R-terminals): Sending code to terminals, running multiple terminals, working with remote servers.
-
-* [Package development](https://github.com/REditorSupport/vscode-R/wiki/Package-development): Build, test, install, load all and other commands from devtools.
-
-* [Keyboard shortcuts](https://github.com/REditorSupport/vscode-R/wiki/Keyboard-shortcuts): Built-in and customizable keyboard shortcuts.
-
-* [Workspace viewer](https://github.com/REditorSupport/vscode-R/wiki/Sidebar-user-interface#workspace-viewer): Environment pane to show global variables in the attached R session.
-
-* [Help pages viewer](https://github.com/REditorSupport/vscode-R/wiki/Sidebar-user-interface#help-pages-viewer): Viewing R help pages and searching help topics.
-
-* [Package management](https://github.com/REditorSupport/vscode-R/wiki/Sidebar-user-interface#package-management): Installing and removing R packages.
-
-* Session symbol hover and completion.
-
-* [Data viewer](https://github.com/REditorSupport/vscode-R/wiki/Interactive-viewers#data-viewer): Viewing data frames, matrices, Arrow tables, and polars data frames in a paged, sortable, filterable grid; lists in a tree view.
-
-* [Plot viewer](https://github.com/REditorSupport/vscode-R/wiki/Plot-viewer): Interactive plot viewer with support for [jgd](https://github.com/grantmcdermott/jgd) and [httpgd](https://github.com/nx10/httpgd) backends, plus a standard PNG/SVG fallback.
-
-* [Webpage viewer](https://github.com/REditorSupport/vscode-R/wiki/Interactive-viewers#webpage-viewer): Viewing [htmlwidgets](https://www.htmlwidgets.org) such as interactive graphics and [visual profiling results](https://rstudio.github.io/profvis/).
-
-* [Browser viewer](https://github.com/REditorSupport/vscode-R/wiki/Interactive-viewers#browser-viewer): Viewing interactive [shiny](https://shiny.rstudio.com) apps.
-
-* [R Markdown support](https://github.com/REditorSupport/vscode-R/wiki/R-Markdown): R Markdown chunk highlighting, chunk navigation, execute commands, and preview.
-
-* [RStudio add-in support](https://github.com/REditorSupport/vscode-R/wiki/RStudio-addin-support): Run supported RStudio add-ins in VS Code with a live R session.
-
-* Full support of [Remote Development](https://code.visualstudio.com/docs/remote/remote-overview) via [SSH](https://code.visualstudio.com/docs/remote/ssh), [Containers](https://code.visualstudio.com/docs/remote/containers) and [WSL](https://code.visualstudio.com/docs/remote/wsl).
-
-## Exploring data
-
-Call `View(x)` to open a table. The viewer loads rows on demand and applies column filters and sorting in R across the full table.
-
-* **Columns** searches column names, shows or hides matching columns, and pins columns to either edge. Drag entries to reorder them. Row names stay pinned on the left.
-* **Filters** shows filter inputs below the headers. Press Enter to apply text and number filters; use the filter button for ranges, missing values, or combined conditions. **Clear filters** removes every column filter, including filters on hidden columns. The toolbar shows the matching and total row counts.
-* Columns fit the available width by default and adapt when the viewer is resized. **Size to content** sizes the currently displayed cells, up to 480 pixels, and keeps those widths; **Fit width** switches back to filling the viewer. Manually resized columns retain their widths while the remaining flexible columns share the space. Hover over a cell to see its full value.
-* Repeated `View()` calls for the same object retain the viewer's sizing mode, column layout, sorting, filters, and page size when the column names, order, and types are unchanged. Refreshed data starts on the first page. **Reset view** restores fit-width sizing, the default layout, filters, sorting, and configured page size.
+Daily pre-releases are also available: choose **Switch to Pre-Release Version** on the extension's page in VS Code. See [release channels](https://reditorsupport.github.io/vscode-R/getting-started#release-channels) for details and development builds.
## Questions, bug reports, ideas, and contributions
@@ -134,10 +36,8 @@ Call `View(x)` to open a table. The viewer loads rows on demand and applies colu
* If you have an idea for a new feature or behavior change, please [start an Ideas discussion](https://github.com/REditorSupport/vscode-R/discussions/new?category=ideas).
-* If you find a reproducible problem with the extension, please [check the existing issues](https://github.com/REditorSupport/vscode-R/issues) and then [file a bug report](https://github.com/REditorSupport/vscode-R/issues/new/choose).
-
-* Contributions are always welcome! Please see the [contributing guide](https://github.com/REditorSupport/vscode-R/wiki/Contributing) for more details.
+* If you find a reproducible problem with the extension, please [check the existing issues](https://github.com/REditorSupport/vscode-R/issues) and then [file a bug report](https://github.com/REditorSupport/vscode-R/issues/new/choose). Include the extension version and reproduction steps.
-## Persistent R Interactive
+* Contributions are always welcome! Please see the [contributing guide](https://reditorsupport.github.io/vscode-R/contributing) for more details.
-This experimental feature provides native VS Code Interactive windows with independent arf sessions, including adoption of existing arf sessions over Remote SSH. vscode-R installs the bundled pure-R `sess` snapshot; missing Imports come from the configured R repository. Managed sessions retain streaming output, interruption, rich tables, HTML, and plots; notebook console input and debugger prompts are currently unavailable. See the [setup and usage guide](https://github.com/REditorSupport/vscode-R/wiki/R-Interactive) for session switching, persistence, rich outputs, and platform requirements.
+The R and R Markdown syntaxes are located in a sibling package, [vscode-R-syntax](https://github.com/REditorSupport/vscode-R-syntax). See the [changelog](https://github.com/REditorSupport/vscode-R/blob/main/CHANGELOG.md) for changes in each release.
diff --git a/sess/README.md b/sess/README.md
index 441bbbb12..0ce1e2c9c 100644
--- a/sess/README.md
+++ b/sess/README.md
@@ -70,7 +70,7 @@ install.packages(
## Usage
> [!NOTE]
-> [R Interactive](https://github.com/REditorSupport/vscode-R/wiki/R-Interactive)
+> [R Interactive](https://reditorsupport.github.io/vscode-R/features/r-interactive)
> prepares its isolated runtime as part of starting an Interactive session; that
> runtime follows its own lifecycle and does not change ordinary R libraries.
> R Interactive requires [arf](https://github.com/eitsupi/arf) on the R host.
diff --git a/src/interactive/README.md b/src/interactive/README.md
index 290745047..286d1d4ea 100644
--- a/src/interactive/README.md
+++ b/src/interactive/README.md
@@ -1,6 +1,6 @@
# R Interactive architecture
-R Interactive keeps R execution independent of the VS Code extension host. Each session has an agent, a runtime backend, a durable transcript, and retained assets. The editor reconnects to the agent instead of resubmitting code. See the [wiki user guide](https://github.com/REditorSupport/vscode-R/wiki/R-Interactive) for setup and behavior, and [CONTRIBUTING.md](../../CONTRIBUTING.md#testing-r-interactive) for validation commands.
+R Interactive keeps R execution independent of the VS Code extension host. Each session has an agent, a runtime backend, a durable transcript, and retained assets. The editor reconnects to the agent instead of resubmitting code. See the [user guide](https://reditorsupport.github.io/vscode-R/features/r-interactive) for setup and behavior, and [CONTRIBUTING.md](../../CONTRIBUTING.md#testing-r-interactive) for validation commands.
## Component boundaries
diff --git a/src/rmarkdown/draft.ts b/src/rmarkdown/draft.ts
index c9ea38144..f35d4a2cc 100644
--- a/src/rmarkdown/draft.ts
+++ b/src/rmarkdown/draft.ts
@@ -92,7 +92,7 @@ async function launchTemplatePicker(cwd: string): Promise
@@ -34,7 +50,7 @@ The list viewer supports collapsing nodes.
## Plot viewer
-The plot viewer supports JGD, httpgd, and a responsive standard SVG/PNG backend.
+The plot viewer supports jgd, httpgd, and a responsive standard SVG/PNG backend.
For more details, go to
[Plot viewer](./plot-viewer.md).
diff --git a/website/docs/features/plot-viewer.md b/website/docs/features/plot-viewer.md
index fefe2aeb1..2cf67740f 100644
--- a/website/docs/features/plot-viewer.md
+++ b/website/docs/features/plot-viewer.md
@@ -1,21 +1,23 @@
# Plot viewer
Plots from an attached R session can be displayed in a VS Code editor tab. Use
-`r.plot.backend` to select one of four modes:
+`r.plot.backend` to select one of five modes:
-- `auto` (default): use JGD if installed, otherwise httpgd if installed,
+- `auto` (default): use jgd if installed, otherwise httpgd if installed,
otherwise the standard viewer
-- `jgd`: use the [JGD](https://github.com/REditorSupport/jgd) graphics device
+- `jgd`: use the [jgd](https://github.com/REditorSupport/jgd) graphics device
- `httpgd`: use the [httpgd](https://github.com/nx10/httpgd) graphics device
- `standard`: use the built-in responsive plot viewer
+- `native`: use R's configured graphics device without plot integration or
+ opening the VS Code plot viewer automatically
Backend changes take effect without reloading VS Code. vscode-R warns and falls
back when the requested package is unavailable.
-JGD is lightweight, has no external R-package dependencies, and is usually
+jgd is lightweight, has no external R-package dependencies, and is usually
simpler to install. httpgd has a mature, feature-rich SVG viewer, but a larger
compiled dependency footprint. If you are unsure which optional backend to
-install, start with JGD.
+install, start with jgd.
## Standard viewer
@@ -27,19 +29,18 @@ Use `r.plot.format` to request `"svglite"` or `"png"`. The
`r.plot.devArgs` setting supplies additional graphics-device arguments, but the
responsive viewer manages width and height itself.
-To use R's native graphics window instead, disable the session watcher with
-`r.sessionWatcher`. This also disables the other features that require an
-attached R session.
+To use R's native graphics window instead, set `r.plot.backend` to `"native"`.
+The other features that require an attached R session remain available.
-## JGD viewer
+## jgd viewer
-Install the `jgd` R package to use the lightweight JGD backend:
+Install the jgd R package to use the lightweight jgd backend:
```r
install.packages("jgd")
```
-JGD supports plot history, navigation, zoom, and export. Configure the maximum
+jgd supports plot history, navigation, zoom, and export. Configure the maximum
history size with `r.plot.jgd.historyLimit`, and the default export dimensions
and resolution with `r.plot.jgd.exportWidth`, `r.plot.jgd.exportHeight`, and
`r.plot.jgd.exportDpi`.
diff --git a/website/docs/features/r-interactive.md b/website/docs/features/r-interactive.md
index 12f2281c1..7fda3f803 100644
--- a/website/docs/features/r-interactive.md
+++ b/website/docs/features/r-interactive.md
@@ -8,17 +8,17 @@ R Interactive was introduced in vscode-R 3.2.0 ([PR #1805](https://github.com/RE
## Requirements and setup
-Use **VS Code 1.101.0 or newer**. R Interactive currently supports Linux and macOS; its native console bridge does not support Windows. Existing R terminal workflows remain available.
+Use **VS Code 1.101.0 or newer**. R Interactive currently supports Linux and macOS; persistent session supervision is not available on Windows. Existing R terminal workflows remain available.
For Remote SSH, install this extension **on the remote host**. R, its packages, optional executables, and session storage must be available on that host. For local use, the same requirements apply to your computer.
The R host needs:
-- R, plus either compatible pre-built sess/dependency packages or a C compiler capable of building R packages (`r-base-dev` and `build-essential` on Debian/Ubuntu).
+- R. The bundled sess package is pure R and needs no compiler; its missing Imports are installed from the configured R repository and may need build tools when installed from source.
- The session agent automatically uses the extension host's bundled runtime: VS Code's Electron runtime in Node mode on desktop, or VS Code Server's Node runtime remotely. A separate Node.js installation is optional.
- `tmux` is optional. On Linux, the default supervisor uses tmux when available and otherwise starts an independent detached process. `systemd --user` is another configurable option.
-- R packages `processx`, `later`, `jsonlite`, and `rstudioapi`. Install `languageserver` for language features, `jgd` and `systemfonts` for JGD graphics, `svglite` for the static fallback, and `htmlwidgets`/`htmltools` for HTML output.
-- `arf` is optional. Creating a headless arf session requires an executable on the R host; plain R requires no arf installation. Connecting to an already-running arf uses its socket and does not require arf on the extension host's PATH. The provider contract was exercised with arf 0.5.1.
+- R packages processx, later, jsonlite, and rstudioapi. Install languageserver for language features, jgd and systemfonts for jgd graphics, svglite for the static fallback, and htmlwidgets/htmltools for HTML output.
+- arf. Creating a new Interactive session requires an arf executable on the R host. Connecting to an already-running arf uses its socket and does not require arf on the extension host's PATH. The provider contract is tested with arf 0.5.3.
For example, run in the R installation used on the server:
@@ -37,11 +37,7 @@ Runtime availability and version (Node.js 18+) are checked before installation o
### R packages and project libraries
-The extension installs its bundled `sess` into a private, content-addressed library. It does not replace your installed `sess` package. If the source build fails, including when build tools are missing, it tries a compiler-free package from [R-universe](https://reditorsupport.r-universe.dev/sess). Installation diagnostics appear in the **R Interactive** output channel.
-
-On macOS, the fallback uses R's matching binary repository. On Ubuntu, it uses a repository matching the host's codename, architecture, and R version. It never assumes that an Ubuntu binary is compatible with another Linux distribution. Dependencies for a binary fallback come from the matching R-universe repositories. No global repository settings are changed.
-
-The compiler-free fallback requires a published `sess` build compatible with the native Interactive bridge. A matching package version alone is insufficient; the extension checks the compatibility marker, required functions, and registered native console routines. Until a compatible build is published for your host, building the bundled package requires a C compiler. Missing or incompatible binaries produce an installation error with diagnostics in **R Interactive**.
+The extension installs its bundled pure R sess into a private, content-addressed library when starting an Interactive session. It does not replace your installed sess package. Missing Imports are installed from the configured R repository; no global repository settings are changed. Installation diagnostics appear in the **R Interactive** output channel.
That private library is used only to load the bridge; it is not added to your session's `.libPaths()` or `R_LIBS`. Package installation follows ordinary R behavior: `install.packages()` defaults to the first library in `.libPaths()`, usually your user library. Startup files can customize that order, and an explicit `lib=` still takes precedence. The extension does not force a user-library destination over a project library.
@@ -72,7 +68,7 @@ Detached launch goes through a short-lived bootstrap so the agent leaves the edi
## Start a session
-Run **R: New Persistent Interactive Session**, choose **R** or **arf**, and name the session. Each session opens its own Interactive window; select it in **R → Interactive Sessions** to return to it. Plain R does not require arf. Multiple sessions execute concurrently; each R process runs submitted cells serially.
+Run **R: New Persistent Interactive Session**, choose **arf**, and name the session. Each session opens its own Interactive window; select it in **R → Interactive Sessions** to return to it. Multiple sessions execute concurrently; each R process runs submitted cells serially.
### Connect to an existing arf session
@@ -122,7 +118,7 @@ New arf sessions save their resolved absolute executable path, so a later PATH c
### R execution and input
- Code runs in `.GlobalEnv`; visible results update `.Last.value`. Output is streamed during execution. Messages, warnings, errors, and traces are represented separately from ordinary console output. Errors show their message followed by the user calls, omitting the worker, arf transport, and condition-handler scaffolding. Saved R and Jupyter notebooks retain both the message and trace.
-- `readline()`, `scan()`, and `browser()` prompts appear as input requests. Canceling the input box leaves R waiting; **Reply to Interactive Input** opens it again. **Interrupt Interactive Session** signals the R process while preserving the environment when R handles the interrupt.
+- Notebook console input and debugger prompts are currently unavailable: `readline()`, `scan()`, and `browser()` prompts cannot be answered from the Interactive window. Use an ordinary R terminal for code that needs console input. **Interrupt Interactive Session** signals the R process while preserving the environment when R handles the interrupt.
- R remains single-threaded. A native call that does not check interrupts may delay cancellation. Arbitrary environment inspection and table queries are not executed concurrently with user code; cached workspace information remains visible while R is busy.
- A rerun creates a new execution identity and history entry. Submissions with an existing identity are deduplicated. Reconnect never resubmits code automatically. Ambiguous dispatch failures block the queue until completion or process exit establishes what happened.
- A client control lease prevents two windows from submitting simultaneously. Other clients can observe retained output; **Take Control of Interactive Session** explicitly transfers control.
@@ -140,10 +136,10 @@ External terminal output observed through the arf console bridge is retained in
| Output | Behavior |
| --- | --- |
| Console, warnings, errors | Incremental output with per-execution limits and explicit truncation notices |
-| Base/grid/ggplot graphics | JGD frames retained by the agent and rendered as scalable SVG; independent font metrics work without a connected editor |
+| Base/grid/ggplot graphics | jgd frames retained by the agent and rendered as scalable SVG; independent font metrics work without a connected editor |
| Incremental graphics | Recorded execution markers associate updates with their producing cell, including extensions of an existing plot |
| Plot controls | Compact icons with labels for opening and resizing; **Save…** opens a native VS Code format picker for SVG and PNG |
-| Static fallback | Captured plots when JGD/systemfonts are unavailable or `plotBackend` is `standard` |
+| Static fallback | Captured plots when jgd/systemfonts are unavailable or `plotBackend` is `standard` |
| Data frames and matrices | On-demand inline pages (20/50/100 rows), first/last and page jumps, sorting, column filters/reordering and Reset; an expanded data viewer remains available. Requests stay bound to their originating session |
| HTML widgets and HTML tags | Sandboxed browser output with copied local dependencies; dependencies remain after the R temporary source is gone |
| Explicit MIME | `sess::display(x, mime = "text/markdown")`, HTML, and text formats |
@@ -178,7 +174,7 @@ Full-table handles retain their original objects in R memory without an addition
### Widgets and output controls
-JGD graphics and browser widgets have different interaction models: a static R plot can resize and export, while plotly/leaflet-style interaction comes from the widget's JavaScript. Arbitrary widget behavior that requires browser permissions or unavailable external network resources remains subject to the sandbox and server configuration.
+jgd graphics and browser widgets have different interaction models: a static R plot can resize and export, while plotly/leaflet-style interaction comes from the widget's JavaScript. Arbitrary widget behavior that requires browser permissions or unavailable external network resources remains subject to the sandbox and server configuration.
Table paging uses arrow icons with tooltips and accessible names. **Data viewer**, **Open plot**, and **Fit R device** retain short labels alongside their icons. **Save…** opens VS Code's native format picker without changing the cell height or scroll position, followed by the file save dialog. PNG is offered after the image loads. The picker supports typing, arrow-key navigation, Enter to select, and Escape to cancel. Each output allows one pending picker, and replies to replaced or disposed outputs are ignored.
@@ -241,7 +237,7 @@ These limits do not cap total session storage: earlier R generations and executi
Plot storage follows this lifecycle:
-- Incremental JGD drawing updates are combined over 200 ms, and pending updates for an execution are flushed when it finishes. The agent saves SVG snapshots; it keeps JGD's drawing operations in memory for live plot handling instead of also saving redundant JSON frame files.
+- Incremental jgd drawing updates are combined over 200 ms, and pending updates for an execution are flushed when it finishes. The agent saves SVG snapshots; it keeps jgd's drawing operations in memory for live plot handling instead of also saving redundant JSON frame files.
- Generated SVG/JSON assets of at least 4 KiB use gzip when it reduces their size. Identical content is deduplicated. Display and export decode transparently; exported SVG/JSON files remain ordinary files. Existing uncompressed assets remain readable. HTML dependencies retain their original encoding and directory structure.
- Automatic cleanup starts when a write would exceed 80% of the quota. It removes superseded snapshots and unreferenced generated assets. The latest display version in every retained journal generation is protected, including all dependencies of retained HTML widgets. When journal rotation removes an output's last reference, its assets become eligible for cleanup. A corrupt or unreadable journal prevents cleanup.
- **R: Clean Up Interactive Assets**, also in the session context menu, runs cleanup immediately and reports reclaimed space and current usage. Clearing cells only hides them; it does not erase durable history or make their final plots eligible for cleanup.
diff --git a/website/docs/getting-started.md b/website/docs/getting-started.md
index 5c72a2318..a75728c88 100644
--- a/website/docs/getting-started.md
+++ b/website/docs/getting-started.md
@@ -48,11 +48,11 @@ tools you need:
- [VSCode-R-Debugger](https://github.com/ManuelHentschel/VSCode-R-Debugger): A
VS Code extension to support R debugging capabilities.
-- [`jgd`](https://github.com/REditorSupport/jgd) or
- [`httpgd`](https://github.com/nx10/httpgd) (optional): Interactive graphics
+- [jgd](https://github.com/REditorSupport/jgd) or
+ [httpgd](https://github.com/nx10/httpgd) (optional): Interactive graphics
devices used by the
[plot viewer](./features/plot-viewer.md).
- The default `r.plot.backend` value, `auto`, tries JGD first, then httpgd, then
+ The default `r.plot.backend` value, `auto`, tries jgd first, then httpgd, then
the standard viewer.
- [rmarkdown](https://rmarkdown.rstudio.com): An R package and format for
@@ -68,3 +68,45 @@ needed to make each part work well together. To minimize that cost, please refer
to the detailed installation instructions we provide for
[Windows](./installation/windows.md), [macOS](./installation/macos.md) and
[Linux](./installation/linux.md).
+
+## Install the extension
+
+Install the stable release from the
+[VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=REditorSupport.r)
+or the [Open VSX Registry](https://open-vsx.org/extension/REditorSupport/r), or
+from the command line:
+
+```sh
+code --install-extension REditorSupport.r
+```
+
+Then install the languageserver R package:
+
+```r
+install.packages("languageserver")
+```
+
+Create an R file and start coding. When prompted, click **Yes** to install the
+bundled sess package.
+
+### Release channels
+
+| Channel | Published | How to install |
+| --- | --- | --- |
+| Stable | When a version is tagged | VS Code Marketplace or Open VSX Registry |
+| Daily pre-release | Daily from `main` | **Switch to Pre-Release Version** on the extension's page in VS Code |
+| Development build | After each verified push to `main` | The `vscode-R.vsix` file attached to the [`latest`](https://github.com/REditorSupport/vscode-R/releases/tag/latest) GitHub release |
+
+Choose **Switch to Release Version** on the extension's page to return to
+stable releases.
+
+The development build is not published to a registry. Download and install it
+manually:
+
+```sh
+curl -fsSL -o vscode-R.vsix https://github.com/REditorSupport/vscode-R/releases/download/latest/vscode-R.vsix
+code --install-extension vscode-R.vsix
+```
+
+The `latest` release is replaced on each update, so note the extension version
+and the commit it was built from when reporting a problem.
diff --git a/website/docs/index.md b/website/docs/index.md
index 37040a7c2..105e05143 100644
--- a/website/docs/index.md
+++ b/website/docs/index.md
@@ -74,7 +74,7 @@ or [Linux](./installation/linux.md).
sortable, filterable grid that loads rows on demand, or lists as JSON.
- [Plot viewer](./features/plot-viewer.md):
- Interactive JGD and httpgd backends, plus a responsive standard SVG/PNG
+ Interactive jgd and httpgd backends, plus a responsive standard SVG/PNG
viewer.
- [Webpage viewer](./features/interactive-viewers.md#webpage-viewer):
diff --git a/website/docs/installation/linux.md b/website/docs/installation/linux.md
index 56e5ec0da..d15d6c8b1 100644
--- a/website/docs/installation/linux.md
+++ b/website/docs/installation/linux.md
@@ -68,7 +68,7 @@ remotes::install_github("ManuelHentschel/vscDebugger")
vscode-R supports two optional interactive plot backends:
-- [JGD](https://github.com/REditorSupport/jgd) is lightweight, has no external
+- [jgd](https://github.com/REditorSupport/jgd) is lightweight, has no external
R-package dependencies, and is usually simpler to install.
- [httpgd](https://github.com/nx10/httpgd) provides a mature, feature-rich SVG
viewer over HTTP and WebSockets, but has a larger compiled dependency
@@ -81,6 +81,6 @@ install.packages("jgd")
install.packages("httpgd", repos = c("https://nx10.r-universe.dev", "https://cran.r-project.org"))
```
-Leave `r.plot.backend` at its default value, `"auto"`, to try JGD first, then
+Leave `r.plot.backend` at its default value, `"auto"`, to try jgd first, then
httpgd, then the standard viewer. You can instead set it explicitly to `"jgd"`
or `"httpgd"`. See [Plot viewer](../features/plot-viewer.md) for details.
diff --git a/website/docs/installation/macos.md b/website/docs/installation/macos.md
index e50a0939b..b6e30f40e 100644
--- a/website/docs/installation/macos.md
+++ b/website/docs/installation/macos.md
@@ -68,7 +68,7 @@ remotes::install_github("ManuelHentschel/vscDebugger")
vscode-R supports two optional interactive plot backends:
-- [JGD](https://github.com/REditorSupport/jgd) is lightweight, has no external
+- [jgd](https://github.com/REditorSupport/jgd) is lightweight, has no external
R-package dependencies, and is usually simpler to install.
- [httpgd](https://github.com/nx10/httpgd) provides a mature, feature-rich SVG
viewer over HTTP and WebSockets, but has a larger compiled dependency
@@ -81,6 +81,6 @@ install.packages("jgd")
install.packages("httpgd", repos = c("https://nx10.r-universe.dev", "https://cran.r-project.org"))
```
-Leave `r.plot.backend` at its default value, `"auto"`, to try JGD first, then
+Leave `r.plot.backend` at its default value, `"auto"`, to try jgd first, then
httpgd, then the standard viewer. You can instead set it explicitly to `"jgd"`
or `"httpgd"`. See [Plot viewer](../features/plot-viewer.md) for details.
diff --git a/website/docs/installation/windows.md b/website/docs/installation/windows.md
index 2c3b5bcec..578fb2c29 100644
--- a/website/docs/installation/windows.md
+++ b/website/docs/installation/windows.md
@@ -76,7 +76,7 @@ remotes::install_github("ManuelHentschel/vscDebugger")
vscode-R supports two optional interactive plot backends:
-- [JGD](https://github.com/REditorSupport/jgd) is lightweight, has no external
+- [jgd](https://github.com/REditorSupport/jgd) is lightweight, has no external
R-package dependencies, and is usually simpler to install.
- [httpgd](https://github.com/nx10/httpgd) provides a mature, feature-rich SVG
viewer over HTTP and WebSockets, but has a larger compiled dependency
@@ -89,7 +89,7 @@ install.packages("jgd")
install.packages("httpgd", repos = c("https://nx10.r-universe.dev", "https://cran.r-project.org"))
```
-Leave `r.plot.backend` at its default value, `"auto"`, to try JGD first, then
+Leave `r.plot.backend` at its default value, `"auto"`, to try jgd first, then
httpgd, then the standard viewer. You can instead set it explicitly to `"jgd"`
or `"httpgd"`. See [Plot viewer](../features/plot-viewer.md) for details.