DEV Community

丁久
丁久

Posted on • Originally published at dingjiu1989-hue.github.io

Developer Environment Setup Guide

This article was originally published on AI Study Room. For the full version with working code examples and related articles, visit the original post.

Developer Environment Setup Guide

Developer Environment Setup Guide

Developer Environment Setup Guide

Developer Environment Setup Guide

A well-configured developer environment is the foundation of productivity. Investing time in setting up your shell, editor, and tooling pays dividends every single day. This guide covers a complete development environment setup that works across platforms.

Operating System Choice

Choose an operating system that supports the tools you need:

  • macOS: Excellent developer experience, Unix-based terminal, Homebrew package manager. Preferred for iOS/macOS development.

  • Linux (Ubuntu/Debian/Fedora): Native Docker performance, full control over the system. Preferred for server-side and Linux-targeted development.

  • Windows with WSL2: Windows Subsystem for Linux 2 provides a Linux kernel inside Windows. Run Linux tools natively while using Windows applications.

For most developers, macOS or WSL2 on Windows provides the best balance of tooling and usability.

Shell Configuration

Modern shells improve daily productivity. Zsh with Oh My Zsh is the standard:

Install Zsh and Oh My Zsh

sudo apt install zsh -y

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Essential Zsh plugins:

~/.zshrc

plugins=(

git

docker

docker-compose

npm

node

history

colored-man-pages

zsh-autosuggestions

zsh-syntax-highlighting

command-not-found

)

For power users, consider Fish shell for autosuggestions out of the box, or Nushell for structured data pipelines.

Git Configuration

Set up a robust Git configuration:

git config --global user.name "Your Name"

git config --global user.email "your@email.com"

git config --global init.defaultBranch main

git config --global pull.rebase true

git config --global fetch.prune true

git config --global diff.colorMoved zebra

git config --global alias.co checkout

git config --global alias.br branch

git config --global alias.ci commit

git config --global alias.st status

git config --global alias.lg "log --oneline --graph --decorate --all"

git config --global core.excludesfile ~/.gitignore_global

A global .gitignore prevents committing common OS and editor files:

~/.gitignore_global

.DS_Store

Thumbs.db

*.swp

*.swo

*~

.vscode/

.idea/

*.log

.env.local

Package Managers

Install language-specific package managers:

Node.js (via nvm for version management)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

nvm install --lts

nvm use --lts

Python

sudo apt install python3 python3-pip python3-venv

Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Go

wget https://go.dev/dl/go1.22.linux-amd64.tar.gz

sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz

Use version managers (nvm, pyenv, rbenv, sdkman) to manage multiple language versions.

Editor Setup

VS Code is the most popular editor for good reason. Essential extensions:

Install via CLI

code --install-extension ms-python.python

code --install-extension dbaeumer.vscode-eslint

code --install-extension esbenp.prettier-vscode

code --install-extension github.copilot

code --install-extension bierner.markdown-mermaid

code --install-extension eamodio.gitlens

code --install-extension ms-azuretools.vscode-docker

code --install-extension streetsidesoftware.code-spell-checker

Settings to consider:

{

"editor.formatOnSave": true,

"editor.defaultFormatter": "esbenp.prettier-vscode",

"editor.minimap.enabled": false,

"editor.fontSize": 14,

"editor.fontFamily": "'JetBrains Mono', 'Fira Code', monospace",

"editor.fontLigatures": true,

"editor.cursorBlinking": "smooth",

"files.autoSave": "onFocusChange",


Read the full article on AI Study Room for complete code examples, comparison tables, and related resources.

Found this useful? Check out more developer guides and tool comparisons on AI Study Room.

Top comments (0)