microsoft / RTVS

R Tools for Visual Studio.
MIT License
388 stars 118 forks source link

RTVS in VS 2019? #4354

Closed N1h1l1sT closed 5 years ago

N1h1l1sT commented 5 years ago

Hello,

So I'd really like to use Visual Studio 2019, but there's apparently no support for RTVS. And what's worse is that I can't find any information. They mention python and the new goodies with it, but there's 0 mention of R, not even to say that the support for it is discontinued or not

So, my question is, will R (RTVS) be supported in Visual Studio 2019 eventually?

MikhailArkhipov commented 5 years ago

Correct, R is not available in VS 2019. Pleasee see https://docs.microsoft.com/en-us/visualstudio/porting/port-migrate-upgrade-visual-studio-projects-2019?view=vs-2017.

"R Tools for Visual Studio | R Tools for Visual Studio was removed from the Data Science Workload in Visual Studio 2019 Preview.You can continue using Visual Studio 2017 or alternatives like RStudio."

N1h1l1sT commented 5 years ago

That is indeed incredibly sad :( Thank your very much for the information; I wasn't able to find it in google and didn't know where to search for it.

I really wish an RTVS extension can be made for VS2019, like there was one for VS before 2017. I programme in both .NET + R at the same project (where R is called via R.NET) so having everything in one IDE has been amazing.

houstonhaynes commented 5 years ago

I have to ask (then duck for cover) but have you tried it in VSCode? I'll be honest that I have not put all of the extensions in to give it a try, but it has something that has been on my list for a while. So if you want to work ahead and take one for the team, I would really appreciate it. :)

RafalLukawiecki commented 5 years ago

@MikhailArkhipov thanks for this important update. May I ask you a question from a SQL Server and ML Server customers’ perspective? Does the abandonment of RTVS mean Microsoft is fully behind RStudio and no longer planning to develop its own IDE/RMarkdown tool for R anymore? Any further pointers would be welcome. Thank you.

N1h1l1sT commented 5 years ago

I have to ask (then duck for cover) but have you tried it in VSCode? I'll be honest that I have not put all of the extensions in to give it a try, but it has something that has been on my list for a while. So if you want to work ahead and take one for the team, I would really appreciate it. :)

@houstonhaynes Hehe :P Well, my project is VB.NET + R, and I don't think that VS Code supports VB.NET. To be honest, I haven't used VS Code that much; It was amazing for when I wanted to learn React, but I don't think of it as an IDE so much as I think of it as a supercharged text editor.. hence, for now at least, I wouldn't want to use it for this kind of project.

I could easily see it replacing RStudio for R development if it supports showing the Variables, the Plots and the R Help though. I gave it a try now but the R plugin cannot find any of my R installations and I'll have to find out how to show it where R is; but that's for another day.

MikhailArkhipov commented 5 years ago

I already published R extension to VS Code which is based on RTVS. But it is a personal project not officially supported. It is smaller subset of features, mostly around editor.

https://marketplace.visualstudio.com/items?itemName=Mikhail-Arkhipov.r

N1h1l1sT commented 5 years ago

Yeah, this is the extension I used. Upon load I get the error "Unable to find R interpreter". I'm not sure if the problem is that I've changed R's installation folder to "C:\Progs\R\", but I do have it on registry Both "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\R-core\R64" and "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\R-core\R" are populated with the "Current Version" and "InstallPath"

Perhaps if I reinstall R it will find it - maybe some cleaning programme did some damage.

MikhailArkhipov commented 5 years ago

@N1h1l1sT - open a bug at https://github.com/MikhailArkhipov/vscode-r/issues and post content or a screenshot of keys under the SOFTWARE\R-core\R. Thanks.

mkoohafkan commented 5 years ago

R Tools for Visual Studio | R Tools for Visual Studio was removed from the Data Science Workload in Visual Studio 2019 Preview.You can continue using Visual Studio 2017 or alternatives like RStudio.

That's insane! RTVS is an excellent toolkit and seems light years ahead of the VS Python tools. I adopted RTVS over Rstudio on Windows machines and have never looked back, I really appreciated the feature set. I guess I'll be moving over to VS Code...

deerainw commented 5 years ago

I think using RTVS in vs2017 is much more comfortable than Rstudio, but in vscode it doesn't behave as good as in vs2017

MikhailArkhipov commented 5 years ago

https://marketplace.visualstudio.com/items?itemName=MikhailArkhipov007.RTVS2019

mkoohafkan commented 5 years ago

https://marketplace.visualstudio.com/items?itemName=MikhailArkhipov007.RTVS2019

We're sorry, the page you requested cannot be found!

:(

MikhailArkhipov commented 5 years ago

Apparently there is a separate step to make extension public. Fixed.

N1h1l1sT commented 5 years ago

Blimey! RTVS for VS2019 !! Colour me excited! I downloaded it the second I saw the link. Unfortunately when I'm trying to open R Solution files (.sln), VS2019 (Preview: latest version) opens but it hangs on opening the solution; nothing ever loads for me. Now I do have lots of other extensions installed so I'll need to test further, but for now, I'm just so happy to see RTVS for VS2019 can be a thing after all :D

MikhailArkhipov commented 5 years ago

There were some changes in project system APIs in 2019. Try open projects separately and if it works, try making new solution and add existing projects to it.

mkoohafkan commented 5 years ago

Unfortunately I am not able to get this working. Trying to create a new R project returns an error box "one or more errors occurred" and trying to open an existing R project causes VS2019 to hang indefinitely.

MikhailArkhipov commented 5 years ago

What happens if you try and create new project? I don't have many old solutions handy, but one I have from 2017 seems to work. VS should also save error log in either Users\USER\AppData\Local\Microsoft\VisualStudio\16.0_* or in similar path in AppData\Roaming\...

I think also there may be some component missing in specific VS install that I may have. Try adding .NET Core and/or C# development to your setup. Original setup for VS 2017 was internal, not usable in VSIX so there may be missing dependency. I will look into the original VS setup dependency list as well.

mkoohafkan commented 5 years ago

VS should also save error log in either Users\USER\AppData\Local\Microsoft\VisualStudio\16.0_* or in similar path in AppData\Roaming\...

I checked both locations but didn't find any error logs. I installed both the .NET Core and the .Net desktop development (C#) workloads but I am still unable to create new R projects or load old ones.

mkoohafkan commented 4 years ago

Any update on this? I have tried uninstalling and reinstalling the extension and installing other features including .NET desktop development, .NET Core cross-platform development and Visual Studio extension development. It seems that others have been successful using the 2019 extension. I am still unable to create new R projects or load existing 2017 projects (which I understand may never work, that's fine). Can you advise on other things to try?

mkoohafkan commented 4 years ago

Still trying to figure it out... thinking about the fact that this issue occurs on multiple computers, I wondered if it had something to do with my VS account. My account get automatically logged in each time i reinstalled VS 2019. I tried clearing my settings and got this error:

Your settings were reset, but there were some errors.

Error 1:  Projects and Solutions: Unable to import property 'ProjectItemTemplatesLocation' because it contains invalid data '%vsspv_visualstudio_dir%\Templates\ItemTemplates'.
Error 2:  Projects and Solutions: Unable to import property 'ProjectTemplatesLocation' because it contains invalid data '%vsspv_visualstudio_dir%\Templates\ProjectTemplates'.
Error 3:  Startup: Unable to import property 'StartPageRSSUrl' because it contains invalid data ''.
Error 4:  Startup: Unable to import property 'StartPageRefreshDownloadedContent' because it contains invalid data 'true'.
Error 5:  Startup: Unable to import property 'StartPageRefreshInterval' because it contains invalid data '60'.

Looking at a blank solution, it appears that all of the RTVS functionality is installed and working---the R console is there, the menus are there, etc. I'm wondering now if the failure is just in creating the R project file itself. Perhaps these settings issues are preventing VS2019 from opening or displaying R projects. Do you have any recommendations on how to proceed? I have no idea how to fix the issue, or why it is occurring. It looks like others have experienced this issue as well, but not with RTVS specifically.

MikhailArkhipov commented 4 years ago

Possibly. One option is to delete all 16* folders in C:\Users[USER]\AppData\Local\Microsoft\VisualStudio, that's where VS caches stuff. It is safe, VS will rebuild it.

mkoohafkan commented 4 years ago

This did not resolve the issue unfortunately.

MikhailArkhipov commented 4 years ago

Are you able to create an empty R project?

mkoohafkan commented 4 years ago

No I am not able to create new R projects. I have tried creating a new solution and R project together (either with a solution-level directory or both the R project and Solution in the same directory) and also tried creating a blank solution, and then creating a new R project in that solution. I have tried these approaches on two separate machines (both Win10 x64) but in both cases I get a generic "One or more errors occurred" message.

Opening existing VS2017 R projects does not work either, but I wouldn't expect it to.

mkoohafkan commented 4 years ago

I updated VS2019 and thought I'd try reinstalling RTVS2019 one more time. I still am unable to create R projects, but now the error is informative!

image

Assuming this error message is accurate, do you have any ideas on what I might need, or how to identify what's missing? Here's my configuration:

{
  "version": "1.0",
  "components": [
    "Microsoft.VisualStudio.Component.CoreEditor",
    "Microsoft.VisualStudio.Workload.CoreEditor",
    "Microsoft.NetCore.Component.SDK",
    "Microsoft.VisualStudio.Component.NuGet",
    "Microsoft.Net.Component.4.6.1.TargetingPack",
    "Microsoft.VisualStudio.Component.Roslyn.Compiler",
    "Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
    "Microsoft.VisualStudio.Component.FSharp",
    "Microsoft.NetCore.Component.DevelopmentTools",
    "Microsoft.VisualStudio.Component.FSharp.WebTemplates",
    "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
    "Microsoft.VisualStudio.Component.DockerTools",
    "Microsoft.NetCore.Component.Web",
    "Microsoft.Net.Component.4.8.SDK",
    "Microsoft.Net.Component.4.7.2.TargetingPack",
    "Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
    "Microsoft.VisualStudio.Component.TypeScript.3.7",
    "Microsoft.VisualStudio.Component.JavaScript.TypeScript",
    "Microsoft.VisualStudio.Component.JavaScript.Diagnostics",
    "Microsoft.Component.MSBuild",
    "Microsoft.VisualStudio.Component.TextTemplating",
    "Component.Microsoft.VisualStudio.RazorExtension",
    "Microsoft.VisualStudio.Component.IISExpress",
    "Microsoft.VisualStudio.Component.SQL.ADAL",
    "Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime",
    "Microsoft.VisualStudio.Component.Common.Azure.Tools",
    "Microsoft.VisualStudio.Component.SQL.CLR",
    "Microsoft.VisualStudio.Component.MSODBC.SQL",
    "Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils",
    "Microsoft.VisualStudio.Component.ManagedDesktop.Core",
    "Microsoft.Net.Component.4.5.2.TargetingPack",
    "Microsoft.Net.Component.4.5.TargetingPack",
    "Microsoft.VisualStudio.Component.SQL.SSDT",
    "Microsoft.VisualStudio.Component.SQL.DataSources",
    "Component.Microsoft.Web.LibraryManager",
    "Microsoft.VisualStudio.ComponentGroup.Web",
    "Microsoft.VisualStudio.Component.Web",
    "Microsoft.VisualStudio.Component.IntelliCode",
    "Microsoft.Net.Component.4.TargetingPack",
    "Microsoft.Net.Core.Component.SDK.2.1",
    "Component.Microsoft.VisualStudio.Web.AzureFunctions",
    "Microsoft.VisualStudio.ComponentGroup.AzureFunctions",
    "Microsoft.VisualStudio.Component.Azure.Compute.Emulator",
    "Microsoft.VisualStudio.Component.Azure.Storage.Emulator",
    "Microsoft.VisualStudio.Component.Azure.ClientLibs",
    "Microsoft.VisualStudio.Component.Azure.AuthoringTools",
    "Microsoft.VisualStudio.Component.CloudExplorer",
    "Microsoft.VisualStudio.ComponentGroup.Web.CloudTools",
    "Microsoft.VisualStudio.Component.DiagnosticTools",
    "Microsoft.VisualStudio.Component.AppInsights.Tools",
    "Microsoft.VisualStudio.Component.WebDeploy",
    "Component.Microsoft.VisualStudio.LiveShare",
    "Microsoft.VisualStudio.Component.Wcf.Tooling",
    "Microsoft.Component.PythonTools",
    "Microsoft.Component.PythonTools.Miniconda",
    "Microsoft.Component.PythonTools.Web",
    "Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
    "Microsoft.VisualStudio.Component.FSharp.Desktop",
    "Microsoft.VisualStudio.Workload.DataScience",
    "Microsoft.VisualStudio.Component.Workflow",
    "Microsoft.VisualStudio.Component.Sharepoint.Tools",
    "Microsoft.VisualStudio.Component.TeamOffice",
    "Microsoft.VisualStudio.Workload.Office",
    "Microsoft.VisualStudio.Workload.NetCoreTools",
    "Microsoft.Net.Core.Component.SDK.2.2",
    "Microsoft.Net.Core.Component.SDK.3.0",
    "Microsoft.NetCore.ComponentGroup.DevelopmentTools.2.1",
    "Microsoft.NetCore.ComponentGroup.Web.2.1",
    "Microsoft.Net.Component.4.7.2.SDK"
  ]
}
mkoohafkan commented 4 years ago

@MikhailArkhipov Is there any chance you could paste your VS2019 configurations/installed components info here? I just downloaded the latest updated and confirmed that R 4.0 interpreter is working, but I still cannot create new R projects or add existing VS 2017 R projects to blank solutions. I still haven't figured out which dependencies are missing. I'd rather not install every possible component but I will if I have to!

MikhailArkhipov commented 4 years ago

Microsoft Visual Studio Enterprise 2019 Preview Version 16.6.0 Preview 2.1 VisualStudio.16.Preview/16.6.0-pre.2.1+30001.183 Microsoft .NET Framework Version 4.8.03752

Installed Version: Enterprise

Visual C++ 2019 00435-60000-00000-AA047 Microsoft Visual C++ 2019

ASP.NET and Web Tools 2019 16.6.741.31162 ASP.NET and Web Tools 2019

ASP.NET Core Razor Language Services 16.1.0.2016803+11ed2a5ba094b51dbf240b074e708f314fdaba89 Provides languages services for ASP.NET Core Razor.

ASP.NET Web Frameworks and Tools 2019 16.6.741.31162 For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0 16.6.741.31162 Azure App Service Tools v3.0.0

Azure Functions and Web Jobs Tools 16.6.741.31162 Azure Functions and Web Jobs Tools

C# Tools 3.6.0-2.20173.3+2242fa4fb945b97680bdd49eb5dd58285e4abb1c C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

IntelliCode Extension 1.0 IntelliCode Visual Studio Extension Detailed Info

JetBrains ReSharper Ultimate 2019.2.2 Build 192.0.20190828.114715 JetBrains ReSharper Ultimate package for Microsoft Visual Studio. For more information about ReSharper Ultimate, visit http://www.jetbrains.com/resharper. Copyright © 2020 JetBrains, Inc.

Microsoft Azure Tools 2.9 Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.30212.1

Microsoft Continuous Delivery Tools for Visual Studio 0.4 Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager 2.1.25+gdacdb9b7a1 Install client-side libraries easily to any web project

Microsoft MI-Based Debugger 1.0 Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards 1.0 Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers 1.1 Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package 1.0 Microsoft Visual Studio VC Package

NuGet Package Manager 5.6.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Extension Detailed Info

R Tools for Visual Studio 1.5.60428.2343 Provides project system, R Interactive window, plotting, and more for the R programming language.

Snapshot Debugging Extension 1.0 Snapshot Debugging Visual Studio Extension Detailed Info

SQL Server Data Tools 16.0.62003.20160 Microsoft SQL Server Data Tools

Test Adapter for Boost.Test 1.0 Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test 1.0 Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.

TypeScript Tools 16.0.20323.2001 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 3.6.0-2.20173.3+2242fa4fb945b97680bdd49eb5dd58285e4abb1c Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 10.9.1.0 for F# 4.7 16.6.0-beta.20127.4+82031cd23887368b786e02c6b84fd7c49c5c2e79 Microsoft Visual F# Tools 10.9.1.0 for F# 4.7

Visual Studio Code Debug Adapter Host Package 1.0 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions (Preview) 1.0 View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for CMake 1.0 Visual Studio Tools for CMake

Visual Studio Tools for Containers 1.0 Visual Studio Tools for Containers

MikhailArkhipov commented 4 years ago

Basically .NET Cross Platform, C# Desktop, C++, Web tools, VS Extension development. Have Python now, but that shouldn't matter as I didn't have it earlier.

MikhailArkhipov commented 4 years ago

I'll try installing min Community later this week and try there.

mkoohafkan commented 4 years ago

Thanks @MikhailArkhipov that would be much appreciated. I am going through a diff of your configuration info against mine but haven't seen anything obvious yet (other than a few minor version difference in C# Tools, C++ Tools and Visual Basic Tools).

MikhailArkhipov commented 4 years ago

I installed bare 2019 16.5.4 , then R Tools. Obviously, nothing worked. Then I added C# Desktop - still didn't work. Adding .NET Core Cross platform development made it work.

mkoohafkan commented 4 years ago

@MikhailArkhipov I fully uninstalled VS 2017 and 2019 and followed your procedure. I am still unable to create new R projects or open existing VS 2017 R projects (same error as above). Note that I have tried installing RTVS 2019 multiple times since it was released, on 3 separate Win10 computers (including before and after reimaging one of them).

Can you provide any further troubleshooting steps? Perhaps you could export your working VS 2019 community edition configuration, and I can import it for a fresh install of VS 2019?

mkoohafkan commented 4 years ago

@MikhailArkhipov with further testing I realize that everything works except for creating the actual R project. If I create an empty solution and add R/Rmd files (by adding a text file and changing the extension) I am able to use the full functionality of R Host, syntax checking, variable viewer, plot window, etc.

mkoohafkan commented 4 years ago

@MikhailArkhipov researching the error message shows a lot of results mentioning gacutils. I'm wondering if perhaps you have an assembly registered in your global assembly cache that is required by RTVS but not a common or default setting for VS Community edition, and would not have been overwritten when you installed Bare 2019. I am not at all familiar with gacutils but I can provide a listing of my GAC if it helps.

MikhailArkhipov commented 4 years ago

VS does not use GAC, all VS installations are side by side since 2017. I think the only GAC-registered pieces that might remain are msbuild related.

mkoohafkan commented 4 years ago

OK thanks @MikhailArkhipov, I'm running out of ideas for why R project creation with RTVS 2019 consistently fails for me on multiple computers. The error message does suggest missing critical imports or SDKs but I'm not sure where to look, and it seems to be specifically related to the creation/reading of .rproj and .rxproj files.

I do see references to MSBuildUserExtensionsPath in my VS 2017.rxproj file, so maybe it is related to msbuild. Do you have any more ideas? Would it be possible to make the error messages in RTVS more verbose to help trace the issue?

Some example references in the .rxproj file:

  <Import Project="$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Rules\rtvs.rules.props" Condition="Exists('$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Rules\rtvs.rules.props')" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Rules\rtvs.rules.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Rules\rtvs.rules.props') And !Exists('$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Rules\rtvs.rules.props')" />
  <Import Project="$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Targets\Microsoft.R.targets" Condition="Exists('$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Targets\Microsoft.R.targets')" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Targets\Microsoft.R.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Targets\Microsoft.R.targets') And !Exists('$(MSBuildUserExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\RTVS\Targets\Microsoft.R.targets')" />
mkoohafkan commented 4 years ago

Further exploration of msbuild: it looks like the rxproj files look for files in $(MSBuildUserExtensionsPath) which according to this documentation is %LOCALAPPDATA%\Microsoft\MSBuild. However, I don't have that folder at all on my system.

I also see this warning in the doc:

Using these extension mechanisms makes it harder to get repeatable builds across machines. Try to use a configuration that can be checked into your source control system and shared among all developers of your codebase.

@MikhailArkhipov Could this be the culprit?

Ilia-Kosenkov commented 4 years ago

Can confirm the same issue with the project loading/creation in Community version. Interpreter & other things are working fine, including support for R 4.0 (at least basic functionality). The error message is the same as @mkoohafkan has reported before. I am unable to open pre-existing VS2017 R-projects (solution loads, but not the project), and unable to create new R-projects from within VS2019 (it is listed as a newly available project type, but fails with a message box error about missing SDKs).

@MikhailArkhipov, thank you so much for your efforts. RTVS is the only reason I keep a side by side installation of VS2017 and I was not able to switch from RTVS to other editors since RTVS was discontinued.

pawmasz commented 2 years ago

Any updates on having RTVS 2019? Does Microsoft have any plans for it or it's just abandoned?

MikhailArkhipov commented 2 years ago

AFAIK there won't be any. As it says in readme, RTVS was removed from 2019. I no longer work for Microsoft though.