# 代码格式化工具

## 简介
代码格式化工具是FeHelper提供的一个强大的代码美化工具，支持多种编程语言的代码格式化。该工具可以帮助开发者快速整理和美化代码，提高代码的可读性和维护性。支持JavaScript、CSS、HTML、XML和SQL等多种语言的格式化。

## 主要功能

### 多语言支持
1. **JavaScript格式化**
   - 自动缩进
   - 括号对齐
   - 空格规范化
   - 链式方法处理
   - 保留换行

2. **CSS格式化**
   - 属性对齐
   - 选择器格式化
   - 缩进规范化
   - 空格处理
   - 注释保留

3. **HTML格式化**
   - 标签缩进
   - 属性对齐
   - 标签闭合检查
   - 空格规范化
   - 注释保留

4. **XML格式化**
   - 节点缩进
   - 属性对齐
   - 标签闭合检查
   - 空格规范化
   - 注释保留

5. **SQL格式化**
   - 关键字大写
   - 子句对齐
   - 缩进规范化
   - 空格处理
   - 注释保留

### 格式化选项
1. **缩进设置**
   - 缩进字符（空格/制表符）
   - 缩进大小（默认4空格）
   - 最大缩进级别

2. **换行处理**
   - 保留换行
   - 最大保留行数
   - 链式方法换行
   - 条件语句换行

3. **空格处理**
   - 运算符前后空格
   - 括号内空格
   - 逗号后空格
   - 分号后空格

4. **其他选项**
   - 行长度限制
   - 注释保留
   - 字符串转义
   - 数组格式化

## 使用说明

### 基本使用
1. 选择代码类型
   - 点击对应的语言单选按钮
   - 支持JS、CSS、HTML、XML、SQL

2. 输入代码
   - 在文本框中粘贴需要格式化的代码
   - 支持从剪贴板直接粘贴
   - 支持从文件拖拽

3. 格式化处理
   - 点击"格式化"按钮
   - 等待处理完成
   - 查看格式化结果

4. 复制结果
   - 点击"复制结果"按钮
   - 结果自动复制到剪贴板
   - 可直接粘贴使用

### 示例代码
1. **JavaScript示例**
   - 函数定义和调用
   - 条件语句和循环
   - 对象和数组

2. **CSS示例**
   - 选择器和属性
   - 媒体查询
   - 动画定义

3. **HTML示例**
   - 基本标签结构
   - 表单元素
   - 列表和表格

4. **XML示例**
   - 基本节点结构
   - 属性和值
   - 命名空间

5. **SQL示例**
   - 查询语句
   - 表连接
   - 条件筛选

## 使用技巧
1. **快速格式化**
   - 使用示例代码快速测试
   - 复制格式化后的代码
   - 保存常用格式化设置

2. **代码优化**
   - 检查代码结构
   - 优化缩进和空格
   - 提高代码可读性

3. **批量处理**
   - 支持大段代码格式化
   - 保持代码风格一致
   - 提高工作效率

## 注意事项
1. 代码限制
   - 建议单次处理不超过10000行
   - 过大的代码可能影响性能
   - 注意内存使用

2. 格式保持
   - 某些特殊格式可能被修改
   - 注释可能被调整
   - 注意检查格式化结果

3. 兼容性
   - 支持主流浏览器
   - 支持常见代码编辑器
   - 注意编码问题

## 常见问题
1. **Q: 为什么格式化后的代码和预期不同？**
   A: 可能是由于代码中存在特殊字符或格式，建议检查原始代码的格式。

2. **Q: 如何处理大文件？**
   A: 建议将大文件分段处理，或使用其他专业工具。

3. **Q: 格式化后的代码出现错误怎么办？**
   A: 检查原始代码的语法是否正确，某些语法错误可能影响格式化结果。

## 更新日志
- 2024-03-21: 优化格式化性能
- 2024-03-20: 添加SQL格式化支持
- 2024-03-19: 改进代码高亮显示
- 2024-03-18: 初始版本发布

## 反馈与建议
如果您在使用过程中遇到任何问题或有改进建议，欢迎通过以下方式反馈：
1. 在GitHub上提交Issue
2. 发送邮件至开发者
3. 在工具页面点击"反馈"按钮

## 相关工具
- [代码压缩工具](../code-compress.md)
- [正则表达式工具](../regexp.md)
- [编码转换工具](../encoding-converter.md) 