VS Code, Atom Editor – How would be your c# development experience using them

Have you ever tried to use them in your work? Are they easy to use? Are they improving your productivity? If these words are meaningless for you, these are our feedbacks after using them.

VS Code, Atom are some of the new generation of IDE (Integrated Debugging Environment), to be more correct let’s say simply text editors or SUPER text editors, that become increasingly popular in recent years. They all are:

lightweight software: they are provided as a minimal component, the core or the kernel, above which can be plugged a lot of add-ons. The core package is quite small ~100MB compared to classical IDE like Visual Studio, IntelliJ, Netbeans

free and open-source software which has all a well broad support from their community

multi-platforms: this is one of the most interesting features about them. The developer can still use his favorite editor if he has to switch from windows to MacOSX or from Linux to windows later on.

This is a short list of what we expect for our text editor:

  • Syntax color management;
  • Document format;
  • Auto-completion ( an alternative to IntelliSence );
  • Integration language compiler and debugger;
  • Shortcuts (for example for «Go to Definition», selection comment/uncomment);
  • Source versioning plugin.

Atom – « A hackable text editor for the 21st Century »

As a C# developer, we’ll try to see how would be our programmer life if Atom is our IDE.

First of all we download it at https://atom.io/, the package size is ~85 MB and takes around ~270MB after installation. At the time of writing the version is 1.13.0

Quite promising isn’t it?

Everything seems to be customizable: Themes as well as Styling and snippets to only quote a few of them. We go straight to our point of interest : what about C# support.

We can search available packages at the website.

The two most relevant packages relating to C# development are :

language-csharp downloaded ~256.000 times till now

omnisharp-atom downloaded around 66.000 times

We’ll definitely go for the first one:

Atom syntax highlighting

Vscode

The following extensions are available in Vscode. Here we can see the OmniSharp C# extension has more that 1 millions of download, so we choose it as our main c# extension manager

Document format

Atom and Vscode tested plugins have almost the same features in document formatting. They both do well indentations, advanced styling, line numbering…

Auto-completion

Tested plugins managed well smart completion and they both are very fast and friendly interactive. They both can also display method definitions, snippets and so on. VS Code IntelliSense features are powered by a language service which is a serious advantage compared to the Atom plugin.

Integration language compiler & debugger

You can compile your project and do debug session. They both offer a great debugger experience.

Shortcuts

They both come with a ton a shortcut like definition navigation, parameter info, comment, tab switching. You can even define your own shortcuts.

Version control

As a developer, you may also need that your source code editor has the ability to use source versioning like Github, subversion, TFS.

Atom

Atom-TFS is right package for TFS integration. At the time of writing, the plugin is in a very active development. It offers you three basic commands check-in, get and undo. You must also need to have Visual studio and TFS Power Tools to be installed to use it. You also have to note that atom-TFS is not only the unique TFS plugin available on atom but it is the most featured one at the time of writing.

Vscode

Vscode has a full support of TFS 2015 update 2 and later. Compared to Atom, Vscode offers a lot of additional features like merge or resolve conflicts, branch controls, staging and unstaging commands and so on… the list if very long, you can get more details at https://code.visualstudio.com/Docs/editor/versioncontrol

 

Conclusion

At the end of the day, it is quite difficult to make the choice since both editors offer a great experience.  You have to know that they are not limited to only C# development, they include a large support of almost existing programming languages. The main advantage of Vscode when we talk about c# development is its ability to give better support of TFS and Vscode IntelliSense. They are not only the existing one, you can also discover Nuclide ( based on Atom but at the time of writing, the official website states that some features are not fully supported on Windows platform), SublimText (not free), Vim.