Code Formatter

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

📖 技能介紹


name: code-formatter description: Code formatting best practices and quick references for Python, JavaScript, JSON, Markdown, and common languages with Prettier, Black, ESLint, and other formatters. Use when needing to format code, configure linters, or set up code style guidelines.


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

小蔥技能7w4.net有更新,你可以訪問看下。

jq

# Pretty print JSON
jq '.' file.json

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

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

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