1) Visual Studio for Windows (C++, I assume?)
2) Visual Studio Code (Javascript, Atom)
3) Visual Studio for Mac (C#)
1) Visual Studio for Windows (C++, I assume?)
2) Visual Studio Code (Javascript, Atom)
3) Visual Studio for Mac (C#)
But the shell is a relatively small part of the entire IDE - the bulk of it is the extensions that actually provide support for various languages and technologies. Those also have some C++, either as legacy code, or because the team just preferred it, but by now C# is definitely the majority of it, and it keeps trending in that direction.
A lot of it can be very non-obvious and defying common sense. For example, if you take VS 2013 (pre-Roslyn), the C++ project system was written entirely in C#, while the C# project system was written mostly in C++.
it actually says it supports c++,c#... I still dont get what the difference is..
Having only ever developed on linux I am actually slightly excited to use an IDE like visual studio after seeing some people at work use it..
Visual Studio Code is a text editor built in TypeScript and based on Electron. It supports a broad range of languages, but it's an advanced text editor, not a full fledged IDE
-VS Code doesn't support solution-wide refactoring like renaming classes or moving a method from one class to another
-VS Code doesn't support runtime debugging (breakpoints)
-VS Code doesn't have a visual editor
-VS Code doesn't have memory or performance profiling tools
-VS Code doesn't have source control integration
-VS Code doesn't have an integrated build tool (MSBuild)
-VS Code doesn't have NPM or Nuget integration
> VS Code doesn't support solution-wide refactoring like renaming classes or moving a method from one class to another
F2 "Rename Symbol" (works on Go with gorename). Can't imagine using Roslyn doesn't (or won't soon enough) allow the same. From the readme:
Great C# editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
> VS Code doesn't support runtime debugging (breakpoints)
It does. CMD+Shift+D goes to the Debug sidebar. CMD+Shift+P Debug shows a bunch of commands. From the readme:
Debugging support for .NET Core (CoreCLR). NOTE: Mono and Desktop CLR debugging is not supported.
> VS Code doesn't have source control integration
CMD+Shift+P git whatevs is used daily here as well as Ctrl+Shift+G for the git sidebar that can show (editable) diffs. Both the gutter and scroll bar are annotated with git info.
> VS Code doesn't have an integrated build tool (MSBuild)
MSBuild comes with .Net Core and is (probably) invoked with the language-agnostic CMD+Shift+B (run build task). C# ext may have more.
> VS Code doesn't have NPM or Nuget integration
There are both NPM and NuGet extensions available.
Now of course if what you want is all of this nicely packaged and wrapped in a GUI, well, obviously VS Code is not an IDE (as VS is) but that's precisely its value proposition.
OBVIOUSLY? :D VS Code starts looking more and more like an IDE to me :-) Still looking forward to hear what people define as an IDE!
Thank you for your detailed response by the way, not picking on your post, just curious what everybody finds so "unIDEish" about VS Code.
Visual Studio Code generates project via third party tool - dotnet new. Refactoring, code completion is done via third party tool - Roslyn (?). Etc. It's an editor with plugins. Unlike Visual Studio or Jetbrains Rider.
The GP was looking at the languages the tools were written in, not the languages they support.
For what it's worth, I believe 'TypeScript + Electron' would be a closer description of what VSC was based on.
It's not that it doesn't do the job, it's just a different workflow.
As it stands, VS Code is probably the best tool for JS/Node projects or today imho. And from what I've seen, one of the better options with plugins for go and rust.
It's also available for Windows, Mac and Linux... Much faster/lighter than others, including Atim.
I'm a fan of code, but no ties to ms...
Most of the UI was rewritten for VS2010 with WPF (XAML, DirectX acceleration), but lower/deeper parts are written in c++ and this makes porting "probelmatic" (MFC, win32.dll, kernel.dll to posix stuff).
MonoDevelop ~ Xamarin.Studio is written in C# (some plugins in F#) and this makes porting easier. That is the reason there was MonoDevelop version on Windows.