Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP R Executable Selection #1473

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

ElianHugh
Copy link
Collaborator

@ElianHugh ElianHugh commented Jan 5, 2024

PR: Executable Selection

Aims

  1. Consolidate R path selection into a more user-friendly UI
  2. Make it easier for users to find and use their R installations
  3. Inform users when their R installations are not usable
  4. Do not break any user workflows. The PR should be a seamless
    integration with what users are used to
  5. Fully support virtual R installations (mamba and conda)

Features

New Status Bar

If there is no valid rpath set by the user, the language status item
will prompt the user to select an R executable.

language_item

The status item can be collapsed if the user doesn’t want the item to be
visible at all times.

collapsed_item

Executable Selector

Users will be shown a quickpick of valid R paths that were either found
by VSCode, or were set by the user. Selecting a path will set the
executable to the current workspace.

selector

The quickpick is aware of renv lock files and will attempt to recommend
R versions that match the R version in the lock file.
recommended_path

Conda/Mamba Support

The executable service is aware of conda and mamba installations, and
will modify any background services to use conda run or mamba run,
and will modify the terminal accordingly as well. Both conda and mamba
should work without any user intervention.

conda_spawnargs

Multi-root workspace support

Different roots can have different R versions set to them.

If the user is working in a multi-root workspace, selecting an
executable will prompt the user to select which workspace they want the
executable to be set to.

@ElianHugh ElianHugh mentioned this pull request Jan 5, 2024
11 tasks
@Billsfriend
Copy link

Thanks for the work! These features will greatly improve my experience, and I see a lot of issue actually related to this problem.

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.

2 participants