← 返回
未分类 中文

Code Formatter

Code formatting best practices and quick references for Python, JavaScript, JSON, Markdown, and common languages with Prettier, Black, ESLint, and other form...
代码格式化最佳实践及常用语言(Python、JavaScript、JSON、Markdown 等)的快速参考,使用 Prettier、Black、ESLint 等工具。
terrycarter1985
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 556
下载
💾 0
安装
1
版本
#latest

概述

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

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

LanguageToolCommand
-------------------------
Pythonblackblack file.py
Pythonruffruff format file.py
JS/TSPrettiernpx prettier --write file.js
JSONjqjq '.' file.json
MarkdownPrettiernpx prettier --write README.md
Shellshfmtshfmt -w script.sh
Gogofmtgofmt -w file.go
Rustrustfmtrustfmt 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

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-21 13:49 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Stock Price Alert

terrycarter1985
股价异动实时提醒,支持行情接口、邮件和Sonos语音播报
★ 0 📥 677

Stock Alert Workflow

terrycarter1985
使用 Yahoo Finance 数据分析股票和加密货币,支持投资组合管理(创建、添加、移除资产),以及按市值排名前 20 的加密货币分析。
★ 0 📥 571

Python Support

terrycarter1985
OpenClaw代理的Python语言支持,提供环境配置、依赖管理、代码检查、测试及Python代码执行最佳实践。
★ 0 📥 653