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")  "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:
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:
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….