. Saturday, June 6, 2015.
I installed Visual Studio Code (VSCode) on my Linux box few days after Microsoft realized. I hadn't had a chance to play with much; so I decided to install it on my Mac and spend some time with it to get to know my way around better. There is not deny that it's very exciting to see in Mac. Moreover, it would be the 3rd software (others are Sublime Text and FileZilla) I truly can use cross-platform. The installation is straight forward: download, unzip and copy to Application folder.
The application start was quite fast; it's almost as fast as Sublime Text 3 (still Sublime is a little bit faster), and way faster than Xcode 6.3 or IntelliJ IDEA 14. The lightweight aspect is one of the most compelling features for me. The default theme is a modern dark theme.
The other one is plain white. Unfortunately, there are the only two options as of now. Custom theme support is yet to come. Although, VSCode's official web site's color theme is a different shade of purple color, (and the logo Microsoft's soft baby blue) the bottom toolbar is familiar Visual Studio purple. That familiarity gave me a comfort.
If you ever used Visual Studio Online (Monaco cloud editor), you already know VSCode. There are only seven menus on the top (usual suspects: Code, File, Edit, View, Goto, Window, and Help) and four big icons on the left (Explore, Search, Git and Debug), each switches a second pane with details open and close. It's clean, consistent, and stays out of the way when you don't need them. It's certainly not a full-blown IDE. It hits the sweet spot between a simple text editor and an IDE. You can open up to 3 code window side by side; additionally one more pane for either explore, search, git or debug. You can open a Markdown file and on another window you can see the preview.
Or while you are coding with TypeScript, you can let VSCode compile to JavaScript on the fly with a gulp watcher task. Or just simply open windows to look at it. Toggling between windows is very simple by keyboard shortcuts. Command Palette (⇧⌘P in Mac) gives access to all of the functionality of VSCode. It's somewhat similar to Emacs or Sublime command palette (even same keyboard shortcut) but an addition to git integration and running a task, minus plug-in (package) installation.
There is no way to access terminal window (PowerShell on Windows) inside of VSCode, but that's the trade-off when you use an editor versus an IDE. VSCode supports neat features out-of-the-box other developer editor supports: selection and multi-cursor, IntelliSense (limited languages), Zen coding (snippets), reference search, easy refactoring, code actions, etc. Certainly, Microsoft put emphasis on customizability and mouse free environment.
It's easy to customize and change the keyboard shortcuts. But it may take some time and training to adapt all those (a lot) keyboard shortcuts. All settings are kept in JSON files, couldn't be more convenient.
I also love to fact that it supports modern Internet languages such as Node, DockerFile, TypeScript, Less, Markdown in addition to other classic programming languages. Features like, Git, autosave, multiple windows, robust command palettes, tasks support (Gulp, Jake, Rake, MSBuild, etc.) make VSCode number one choose of developer editor, even for non-Microsoft stack developers. In conclusion; VSCode is a very promising editor which comes with tons of features out-of-the-box while remaining super fast to launch and run. However, it's still in preview stage and the team behind it adding more features each frequent realizes. I made my commitment to make VSCode my primary code editor and started to use day-to-day. Try it yourself; you most likely love it too. Happy coding with VSCode.
Here is my top 5 wish list. Spell check.
Plug-in support. More IntelliSense. More debugging options. Custom theme support.
Is in beta, and available for preview. How to export an olm file in outlook 2011 for mac mac. I tried to install it to see if things are going easy enough, and if it’s usable on Mac OSX El Capitan. This is how it looks when you try to to run Project Rider: Yes, you need to follow the link.
Right link is, and it says “Install ASP.NET 5”, which is little bit confusing - why ASP? I just need.Net. Okay, let’s continue. After few steps DNVM (Dot Net Version Manager) is ready: But wait, is it rc? It just means.Net is something very new.
Looking for stable tools? Maybe it’s stable, but it’s RC - if you like experimenting with thigs, like I do, it’s okay. For production - well, it depends.
Let’s go further and install DNX (Dot Net Execution Environment). There are two options and I don’t understand what do I need:. DNX for.NET Core. DNX for Mono It only says “By default DNVM will install DNX for Mono if no runtime is specified”. I’m confused. So let’s install mono, as it’s suggested in docs.
Project 'KillMe' load failed Can't initialized DNX: DNX process '65309' exit unexpectedly with code 127 /Users/Roman/.dnx/runtimes/dnx-mono.1.0.0-rc1-update1/bin/dnx: line 14: exec: mono: not found So I was just following official docs, installed a bunch of RC software, and it doesn’t work. I’m not surprised, it’s always like that when you touch something very brand new from Microsoft. I’m Certified by Microsoft since 2005, and I write programs with C# /.NET for more than 10 years, and the outcome is exactly the same. Fresh tools just don’t work (but I still do like them). Maybe it’s something about JetBrains and Project Rider? Let’s find out.
Googling this error gives nothing. I suspect it’s something about environment variables. Brew installer gives us a hint. Export MONOGACPREFIX='/usr/local' Let’s add it. Nope, result is the same.
I installed Mono via homebrew. Because it was said: Install Mono for OS X. Alternatively you can install Mono via Homebrew. Let’s try to install it from. Nope, doesn’t work: Maybe reboot? Nope, the same thing.
Conclusion: I was not able to run IDE and environment in reasonable amount of time. It’s too fresh and too extreme for me. I leave it for you, young hackers. Leave your comment if you solved this! I really appreciate the effort. I respect what JetBrains and Microsoft doing.
But for now it looks like “Fix tools while others code”. Very often when you see fancy presentations, somebody can say that software is ready to use, and it’s so cool, you just need to pay for it. And when you have to spend significant amount of time just to make it work I think we should be informed at least. UPD I twitted the link of this post to @JetBrainsRider yesterday, and got reply from them (see first comment). Thanks, JetBrains. I tried to google it more, and wanted to spend another hour of setting this, hopefully, wonderful IDE.
It was said to edit /.dnx/runtimes/dnx-mono.1.0.0-rc1-update1/bin/dnx the weird way: I tried to find a difference between these two files and here it is: So ignore the advice, and just update line 14 in /.dnx/runtimes/dnx-mono.1.0.0-rc1-update1/bin/dnx from exec mono. To exec /usr/local/bin/mono.
Let’s try it now: Now it’s better, but look at these erros, we still cannot build. We have three warnings:. /Users/Roman/other/KillMe/KillMe/KillMe.xproj: warning: Could not find project file /usr/local/Cellar/mono/4.2.2.30/lib/mono/xbuild/Microsoft/VisualStudio/v14.0/DNX/Microsoft.DNX.Props, to import.
/Users/Roman/other/KillMe/KillMe/KillMe.xproj: warning: Could not find project file /usr/local/Cellar/mono/4.2.2.30/lib/mono/xbuild/Microsoft/VisualStudio/v14.0/DNX/Microsoft.DNX.targets, to import. /Users/Roman/other/KillMe/KillMe.sln: warning: Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead. And one error:. /Users/Roman/other/KillMe/KillMe/KillMe.xproj: error: /Users/Roman/other/KillMe/KillMe/KillMe.xproj: /Users/Roman/other/KillMe/KillMe/KillMe.xproj could not import '$(VSToolsPath) DNX Microsoft.DNX.Props' Maybe we can just play with these switches: Nope.
Let’s try to create another project. No luck: Second day, it doesn’t work.
There are more folks who desperately trying to make it work: Conclusion: it is still doesn’t work, but I hope it will. I can’t name it developer’s happiness now, but I hope things will be fixed soon. I really want to give it a try. Will keep you updated on my progress in this post. UPD2: How it works on Windows Meanwhile, I tried to install Rider on Windows. I picked black scheme, so now you know - if screenshot is black, it’s from Windows. Unfortunately, we cannot create blank solution and add two projects as I described.
There is no such option “Blank solution”: Compare above to Visual Studio: You can create “Empty Project” or “Console Application”. Let’s create console application (it’s selected “Empty Project” on screenshot above, don’t be confused, we need option above): Solution was created. And console application project is the part of this solution. Compare to Visual Studio: Wait, let’s see now what “Empty Project” means in Rider. In VS we can create “Blank Solution” and “Empty Project”: Let’s create “Empty Project” in Rider.
I’m trying to create and look at this: Path was not saved. It means every time I have to type it manually. VS saves relative path. C: Projects is the only path for my projects. Minor Rider issue. Yes, “Empty Projects” means “Solution with empty project”.
Unfortunately there’s no way to create just blank solution. So you have to delete existing one from Rider UI. For some reason after deletion it’s still on the disk: And you need to delete it manually. There is any references to HelloRider2 HelloRider2.csproj. It’s just abandoned.
And UI looks like this: Close Project menu item is confusing, because it’s closing solution, and not the project. Here is how it looks in Rider and Visual Studio: Let’s try to write and run the easiest ever program. When I type Console. For the second time, I expect to have WriteLine highlighted by default, because it was used last time. But Rider highlights very first item.
It’s sad: It really affects productivity. But yes, it builds: I can’t say I don’t like it. I really want to pay JetBrains for the product that can work on Mac OSX. But even on Windows it is not something I’d like to use now. I understand it’s beta, but it’s confusing, very fresh, and you have to be very enthusiastic and pain resistant if you want to use it. Let’s wait for the final version and see if these problems have been fixed. I also want to be able to create Test Project.
Hopefully I will be able to do that, because I can’t imagine how can I work without that. But yes, now it’s beta. And release is on the way. And I will keep on trying to run things on Mac. But now it seems to me that C# for Mac is something very extreme now.
Frameworks are RC, IDEs are not ready. I have a feeling that I won’t be able to use it in the next year. And I wanna be wrong.