Code Formatter

👤 terrycarter1985 📦 v1.0.0 ⭐ 4.1 ⬇️ 1.3K 下載
💻 開發程式設計 免費

📖 技能介紹

Code Formatter & Style Guide

Quick references for code formatting tools and style best practices.


🐍 Python Formatting

Black (Opinionated Formatter)

# Install
pip install black

# Format file
black file.py

# Format directory
black src/

# Check without modifying
black --check file.py

# Configuration (pyproject.toml)
[tool.black]
line-length = 88
target-version = ['py310']

isort (Import Sorting)

# Install
pip install isort

# Sort imports
isort file.py
isort src/

# Black-compatible config
[tool.isort]
profile = "black"

flake8 (Linting)

# Install
pip install flake8

# Lint
flake8 file.py
flake8 src/

# Config (setup.cfg)
[flake8]
max-line-length = 88
extend-ignore = E203, W503

ruff (Fast Linter & Formatter)

# Install
pip install ruff

# Lint
ruff check file.py

# Fix automatically
ruff check --fix file.py

# Format
ruff format file.py

💛 JavaScript/TypeScript Formatting

Prettier

# Install
npm install -D prettier

# Format
npx prettier --write file.js
npx prettier --write src/

# Check
npx prettier --check file.js

# Config (.prettierrc)
{
  "semi": true,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5",
  "printWidth": 80
}

# Ignore (.prettierignore)
node_modules/
build/
dist/

ESLint

# Install
npm install -D eslint

# Initialize
npx eslint --init

# Lint
npx eslint file.js
npx eslint src/

# Fix
npx eslint --fix file.js

# Config (.eslintrc.js)
module.exports = {
  extends: ['eslint:recommended'],
  parserOptions: { ecmaVersion: 2022 },
  rules: {
    'no-unused-vars': 'warn',
    'no-console': 'warn'
  }
}

Format on Save (VS Code)

// settings.json
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter"
  }
}

📋 JSON Formatting

jq

# Pretty print JSON
jq '.' file.json

# Compact (one line)
jq -c '.' file.json

# Sort keys
jq -S '.' file.json

小蔥技能7w4.net持續更新中。

Prettier for JSON

npx prettier --write file.json
npx prettier --write *.json

Python json.tool

python3 -m json.tool file.json
python3 -m json.tool file.json --sort-keys

📝 Markdown Formatting

Prettier

npx prettier --write README.md
npx prettier --write docs/

markdownlint

# Install
npm install -D markdownlint-cli

# Lint
npx markdownlint README.md
npx markdownlint docs/

# Fix
npx markdownlint --fix README.md

Common Rules

  • Line length: 80-120 chars
  • ATX headers: # Header not Header =====
  • Consistent list indentation (2 spaces)
  • One blank line between sections
  • Trailing whitespace removal

🔧 EditorConfig (Cross-Editor)

Create .editorconfig in project root:

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.py]
indent_size = 4

[*.{json,yml,yaml}]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

🚀 Quick Format Commands

Language Tool Command
Python black black file.py
Python ruff ruff format file.py
JS/TS Prettier npx prettier --write file.js
JSON jq jq '.' file.json
Markdown Prettier npx prettier --write README.md
Shell shfmt shfmt -w script.sh
Go gofmt gofmt -w file.go
Rust rustfmt rustfmt file.rs

💡 Best Practices

  1. Commit config files: .prettierrc, .eslintrc, pyproject.toml, .editorconfig
  2. Format on save: Set up your editor to auto-format
  3. Pre-commit hooks: Use pre-commit or husky to enforce
  4. Consistency: Pick one style and stick to it
  5. CI checks: Run formatters/lint in CI pipeline

Pre-commit Setup (.pre-commit-config.yaml)

repos:
  - repo: https://github.com/psf/black
    rev: 23.12.1
    hooks:
      - id: black
  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v4.0.0-alpha.8
    hooks:
      - id: prettier

🤖 AI 評測

這個Skill提供了豐富的程式碼格式化工具指南,涵蓋多種程式語言和常用工具,命令示例準確、配置示例實用,對需要規範化程式碼風格的開發者很有幫助。內容組織清晰,查閱方便。不足之處是內容偏技術向,對新手可能有一定門檻,且部分高階用法和常見問題解決方案還有完善空間。

📊 多維度評分

適應性4.1
規範性4
有效性4.6
可靠性3.7
可信度4.3

📁 包含檔案 (2 個)

📄 SKILL.md 4.5 KB
📄 _meta.json 133 B