You don’t like VS Code? Here’s why
Visual Studio Code is an impressive tool. Some people call it an IDE, some call it a fancy text editor. As you may already be aware, it is undoubtedly a truly powerful community-backed software, available for Windows, Mac and Linux. It is free for commercial as well as private use and is owned by Microsoft. It comes with a bunch of neat features out of the box, such as syntax highlighting, bracket matching, IntelliSense, debugging, code navigation and linting, with support for hundreds of programming languages (source).
Having stated that, you might say “I just can’t seem to bring myself to enjoy it. Is there something wrong with how I configure it?” We see all this hype around it, after all it’s been starred by over 119 thousand people on GitHub. Nine times out of ten, your configurations are spot on, it is the thinking behind using VS Code that’s drawing you back.
If you are fighting to get everything working in VS Code and you begin to hate it (be it old or inexistent feature documentation), here I will recommend my version of what you could, and shouldn’t use Visual Studio Code for. This is based on my personal experience as well as on research that I’ll refer to accordingly.
1. Think purpose (take a step back)
VS Code, it was initially developed for web developers, running JavaScript/Typescript (source), and so out of the box, that’s what it’s always been pretty good at. According to the same source, since it’s been open sourced, the community has created thousands of extensions, from syntax highlighting, to language support, to snippets, to theming and PowerShell. For this reason, along with others, it has sparked a lot of interest.
However, more/fancy doesn’t necessarily mean better. Us developers want reliability, support and stability in the tools we use daily. The last thing we want on a deep debugging session is having to install an extension or configure some settings, that we’d otherwise have already built into another IDE. Extensibility is desirable, but it all comes with a cost, if that is to give up on one or more of the above three elements, we find another tool.
2. Keep it simple
Angular, React (subsequently JavaScript and TypeScript) are the perfect candidates for VSC. The reason I included the background above was not unintentional. If there is one thing to take from this post, is this: Use Visual Studio Code for UI work only. This will make you extremely happy. Sure, you could use it for virtually any programming language a extension (plugin) has been created. But you will be the most satisfied when used only for UI work.
Say for example you are working on a .NET project with an Angular UI. Instead of working with the entire repo within Visual Studio or VS Code, ask yourself: How can I make the most out of my development environments? If working in VS Code entirely, why lose that seamless C# debugging experience that VS has to offer? So why not separating out your repo in two repos, or even 2 projects at the very list. Exclude the Angular one from the VS solution (see this article to help you with that). Then, open your angular project in VS Code. Same goes with React.
Again, this is to make your life easier. VS Code is built in a way that allows for extensibility, meaning by this time there are extensions to facilitate development for any technology out there. But keep it simple, and make your life easier. Spare yourself hours of frustration hunting down the perfect extension, and keep it for what it’s best at, UI.
3. Research
When learning a new technology, or even an old one, see if you can find online communities with people that are already masters at that too. See how they react to proposed tools (in this case, be them IDEs or text editors). A simple Google search yielded this result, an Angular community where people have been writing about the best IDEs for web/software development. Here’s a quick run-down of the steps for achieving this:
- Google [technology] community (i.e: Angular community)
- Click one of the results that pops up for you as interesting, but don’t filter too much
- Look for a side-bar with recommended/pinned resources. Otherwise, find a search bar and search for: Best IDE or Best working environment
- Happy reading, see what other people have to say about this and take their word for it (combine it with the next point if you may).
4. Official docs and courses
Finally, the official documentation for a technology should provide a Getting Started/Try it out, tutorial. That could provide a hint of the IDE the developers use. I.e: Going on the Getting Started Angular tutorial, it is obvious that the whoever wrote that post, used VS Code.
Furthermore, try finding courses on Udemy or Pluralsight. This is probably the best way to get a feel for how to set up your working environment. Even if you know the tech you’re using very well, checking out a beginners course, only for the set up part could come in handy.
Conclusions
Remember why VSC has been created in the first place, web development. Keep VS Code for light weight work, such as front-end. Anything more and you’ll be faced with tough C# debugging experiences. Use Visual Studio for all your C# projects, make use of the built-in support already existent in VS. Generally, if starting out on a new technology, research online communities and see what other people use for their development environment. Finally, check out the official documentations and most popular beginners courses, ths should provide a pretty good reflection of what you’ll need to use to make things easy for yourself.
I hope this post helped answer some of your concens regarding VS Code, and development in general. To take this one step further, and provide the best possible value, I’ve put together a cheatsheet which you can just download and use at your pace, whenever you need it.