Since then, I’ve learned a couple of lessons. ![]() □ My initial version of dotfiles was intended for wsl & early devcontainers version. □DevContainers define project-specific configurations and dotfiles define user-specific configurations. Here is how you can add dependencies via. ![]() From my experience, they have improved in this regard. It’s currently supported by the Remote - Containers extension and GitHub Codespaces.ĭevContainers are meant to be reusable and extendable. This container can be used to run an application or to separate tools, libraries, or runtimes needed for working with a codebase.Ī devcontainer.json file in your project tells Visual Studio Code (and other services and tools that support the format) how to access (or create) a development container with a well-defined tool and runtime stack. A devcontainer.json file in your project tells VS Code how to access (or create) a development container with a well-defined tool and runtime stack. It allows you to open any folder or repository inside a container and take advantage of Visual Studio Code’s full feature set. The Visual Studio Code Remote - Containers extension lets you use a Docker container as a full-featured development environment. All you need to do is to run one-liner:Īn approach like this does work. As you can see, there are three different setups for windows, wsl, and dev-containers.Īs result, we can create a dev environment of choice from a scratch. For example, you use a specific package manager innate into the system to install dependencies. Usually, dotfiles are comprised of common configurations and utilities that could be used on various different platforms and platform-specific configurations. Previously, I wrote about it here: Development environment based on Windows Terminal + WSL + ZSH + dotfiles Dotfiles are tailored to make up a unique developer experience. Dotfilesĭotfiles are focused on personal configuration aspects and are usually maintained by a person. It might seem like a lot but luckily we have good tools to automate the scaffolding process. Style pjgitconfig stroke:grey,stroke-width:2px,stroke-dasharray: 5 5 Style pjshellconfig stroke:grey,stroke-width:2px,stroke-dasharray: 5 5 It opens up tons of new opportunities.īasically, you can divide aspects of a dev environment into next categories: A codified developer setup is a form of knowledge that could be evaluated and evolved. With DEaaC the installation problems go away. Image some open-source project that interests you but you don’t know how to even run it. There are lots of benefits to making a reproducible dev environment. Varying from different tools, and frameworks to new programming languages. The latter case is interesting to me because I like to try out new things. ![]() For example, you buy a new laptop, switch to another operating system, or switch to a new project that requires extra tools and configuration. It is a tedious process that you have to do every time you change a working environment. Crafting a perfect dev environment takes time and effort.
0 Comments
Leave a Reply. |