rstudio / rstudioapi

Safely access RStudio's API (when available)
http://rstudio.github.io/rstudioapi
Other
165 stars 35 forks source link

Unable to open files using navigateToFile on startup #269

Open shahronak47 opened 1 year ago

shahronak47 commented 1 year ago

On startup of a project I want to open two files. I have created .Rprofile file for the project which has the following content -

if(rstudioapi::isAvailable()) {
  rstudioapi::navigateToFile('R/ui.R')
  rstudioapi::navigateToFile('R/server.R')
}

but whenever I open this project those two files (ui.R and server.R) don't open, nor is there any error message regarding it. I think that is because rstudioapi::isAvailable() returns FALSE.

To confirm, I removed the if condition from .Rprofile and I get Error: RStudio not running.

How do I fix this? I think this issue https://github.com/rstudio/rstudioapi/issues/100 is similar to mine but it is not yet resolved and I was unable to use the hook suggestion.

Any ideas?

gadenbuie commented 1 year ago

I think this will work if you add it to the .Rprofile in your project.

setHook("rstudio.sessionInit", action = "append", function(newSession) {
  rstudioapi::navigateToFile('R/ui.R')
  rstudioapi::navigateToFile('R/server.R')
})
shahronak47 commented 1 year ago

Thanks @gadenbuie , that worked. But I don't know this somehow blocks using the Run App button for shiny. As you mentioned I added this in my .Rprofile file and it opens these two ui and server files upon launch but when I click on Run App button it print runapp('R/') in the console and waits. Nothing happens after that.

Do you have any idea what might be causing that?