A request for a first-class addin/extension ecosystem


#1

Wouldn’t it be cool if RStudio addins could:
* Open in a source editor tab, rather than the viewer pane (usually small)
* Configure keyboard shortcuts
* Access IDE state, e.g. command history
* Be browsed and installed natively from an extension repository
* Etc… just be more like source editor tabs or quadrant tabs.

At the moment issues raised on the rstudio/rstudioapi GitHub repo can take many months to receive a reply. I assume this is indicative of the priority of this feature. That’s a shame, because IDE/Editors that foster a strong extension ecosystem tend to do well. Look at Vim, Emacs, VSCode, Sublime text, Atom, Eclipse etc… All of them have powerful extension mechanisms in common. I’m particularly excited about the extension system in the soon to be released Jupyter Lab. Their PyData Seattle video is worth a look if you want a glimpse of what RStudio + First Class extensions could be like.

As a brief motivating usecase: I’m playing around with interactive graphics in Vega-lite. I dream of being able to pass data from my R environment through a Vega-lite vis spec in a seamless way, to enable rapid iteration on graphic ideas. A first class extension mechanism could provide for this.


#2

Thanks for the feedback! We would like to implement something like this in the future, but as you might imagine this is a relatively expensive feature and we may not be able to allocate time for something of this scope for now.

Hopefully this is something we can consider down the road!


#3

FYI the ability to browse and install addins exists, though it’s unofficial and incomplete, and relies on users submitting addings to the repository. But it does allow you to browse, install, and uninstall from a community list. https://github.com/daattali/addinslist


#4

@daattali I have a few addins on that list, thank you for putting it together. Its main downfall is that it requires an addin to be installed itself. So you have to know it exists before you can benefit from it.

Something as simple as a including a ink to this list under the addins drop-down could go a long way toward a vibrant ecosystem. Likewise for other incremental changes: Keyboard shortcuts could be specced in the .dcf file, The rstudioapi could be expanded to give more access to IDE state… there a many cheap changes that could be made to greatly improve the addin experience.


#5

Other things that would be possible with a first class system: Custom highlighters and code parsers, say for dyslexic people!


#6

And nifty bracket higlighters: https://twitter.com/thomasp85/status/946451525395771392