-
Notifications
You must be signed in to change notification settings - Fork 0
VS Code
⭐ Installing VS Code
Visual Studio Code (“VS Code” or “VSCode”) is a free, yet powerful Integrated Development Environment (IDE) from Microsoft. It is the standard and supported IDE for Northwood Labs.
While there are certainly other editors/IDEs, we recommend VS Code over other IDEs for the following reasons:
- We can set important project settings for all VS Code users who contribute to a project.
- We can recommend extensions for all VS Code users who contribute to a project.
- With Microsoft owning GitHub, VS Code receives first-class support for new GitHub features.
- Price (free) — this is important to some people.
These features allow us to (a) get up and running quickly, (b) enable everyone to be able to get on-board with project settings with no fuss, and (c) faster access to new GitHub features integrated into our tooling.
brew install --cask visual-studio-code
Alternative: VS Code Insiders
VS Code Insiders is a “beta” or “canary” style build of VS Code called Insiders. You get features faster, but they are less well-tested.
brew install --cask visual-studio-code@insiders
Alternative: VSCodium
VSCodium is the MIT-licensed source code compiled into a binary, without the Microsoft endpoints and telemetry configured. You may prefer this for various reasons, but any impactful differences between this build and VS Code should be resolved in favor of VS Code's default configuration.
brew install --cask vscodium
Note
A big part of shipping better, more secure code is to prevent non-compliant or insecure code from being written and committed in the first place.
With VS Code, we more easily integrate shared extensions and default project settings which use those extensions to help us find problems as we're writing code, then having linting and static analysis tools to help us catch problems before we commit that code.
With finite time and resources, we have to prioritize. And Northwood Labs has prioritized VS Code. Once Northwood Labs is a little bigger, we can open the doors more and provide better support for other editors/IDEs.
JetBrains makes really good IDEs. Period. But sharing the same set of extensions and project-level settings across all developers in a single project is challenging. VS Code leverages a .vscode
directory, and contains sharable configurations. If JetBrains supported this feature, we would be able to provide support for it more easily.
We DO use a JetBrains product for databases — DataGrip.
Sublime Text is a really good editor. But it lacks the integrated part of “IDE”. It is only a code editor. Extensions are written in Python, which is swell. But it has a smaller developer community than VS Code.
Like JetBrains IDEs, sharing the same set of extensions and project-level settings across all developers in a single project is challenging. VS Code leverages a .vscode
directory, and contains sharable configurations.
It's easy to build this stuff in a shared, reusable way using VS Code. It's more challenging with these editors. If you use these instead, you'll have a larger learning curve to get the tooling integrated and working correctly than if you used VS Code, our standard.