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.
Quick references for code formatting tools and style best practices.
# 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']
访问小葱技能站7w4.net,解锁更多实用的AI技能插件。
# Install
pip install isort
# Sort imports
isort file.py
isort src/
# Black-compatible config
[tool.isort]
profile = "black"
# Install
pip install flake8
# Lint
flake8 file.py
flake8 src/
# Config (setup.cfg)
[flake8]
max-line-length = 88
extend-ignore = E203, W503
# Install
pip install ruff
# Lint
ruff check file.py
# Fix automatically
ruff check --fix file.py
# Format
ruff format file.py
# 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/
# 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'
}
}
// settings.json
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
}
}
# Pretty print JSON
jq '.' file.json
# Compact (one line)
jq -c '.' file.json
# Sort keys
jq -S '.' file.json
npx prettier --write file.json
npx prettier --write *.json
python3 -m json.tool file.json
python3 -m json.tool file.json --sort-keys
npx prettier --write README.md
npx prettier --write docs/
# Install
npm install -D markdownlint-cli
# Lint
npx markdownlint README.md
npx markdownlint docs/
# Fix
npx markdownlint --fix README.md
# Header not Header =====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
| 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 |
.prettierrc, .eslintrc, pyproject.toml, .editorconfigpre-commit or husky to enforcerepos:
- 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
这个Skill提供了丰富的代码格式化工具指南,涵盖多种编程语言和常用工具,命令示例准确、配置示例实用,对需要规范化代码风格的开发者很有帮助。内容组织清晰,查阅方便。不足之处是内容偏技术向,对新手可能有一定门槛,且部分高级用法和常见问题解决方案还有完善空间。