Why does RTVS open Notepad?!?

For the past few weeks, I’ve been going through the Mastering Software Development in R specialization on Coursera.  After Matthew Renze mentioned R Tools for Visual Studio (RTVS) during his workshop at CodeMash, I had to see what this was about.

As I have been going through my courses – which use swirl() – I have been looking at how things work, comparing RStudio to RTVS.  One of the things that was maddening for me was going through one of the courses in RTVS and having R files open in Notepad.  Notepad?!?  RStudio wasn’t doing this, so I was even more frustrated.  I could also open R files with Visual Studio right from the file system, so the file association was already in place.  This didn’t make sense.  However… RTVS is an open source project, as is swirl().  So I spent tonight looking at code in GitHub.

After poking around swirl(), I found something that led me to try the following command:

getOption("editor")
[1] "notepad"

Wait… how?! Why?!  Poking around some more, I realized that R has its own profile file – similar concepts to the PowerShell profile file and the bash profile file.  I found this post on Customizing Startup (Quick-R) leading me down the right direction.  With a bit of trial and error and finding this closed issue in the RTVS repo, I moved my .Rprofile file to Documents, and RTVS was happier.

Before changing the editor, I wanted to make sure that I could call the editor – so that when I change it, I could make sure it changed.  This is the command I tried, with the sampleTest.R being in my working directory:

edit(file="sampleTest.R")

Sure enough, this loaded my sample file in Notepad.

Using the sample Rprofile.site file from the Quick-R site as a guide, I edited my default editor to the full path to Notepad++.  This looks like it could be the right direction.

Calling the same command from above:

edit(file="sampleTest.R")

Now this loads in Notepad++, which means I have syntax highlighting.  (I would have pointed at Visual Studio Code, but I’m on the one laptop that didn’t have it installed just yet.)

Next goal: How to tell the R Interactive to open the R files in the current instance of Visual Studio….

3 thoughts on “Why does RTVS open Notepad?!?

  1. Mikhail Arkhipov (MSFT) says:

    This because we currently don’t override edit command. But his will be added soon. In any case, RTVS is open source so feel free to file bugs and suggestions on github 🙂

    • sarah says:

      Ah… I hadn’t dug into the code enough yet to feel confident in submitting the bugs/suggestions. But I see #3352, so I look forward to seeing that done. After blogging about this, I started going down a horrible, horrible path involving a batch script to call:

      devenv.exe /edit %1%

      That /edit flag in the command line to launch in the current instance of Visual Studio definitely slowed me down. Front-slash flags in a path of front-slashes… yeah… did I mention this sounds like a horrible, horrible path for me to even consider? 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *