[TOC]
## 简介
由于不同操作系统回车出现的 `\r` 对 shell 的影响,所以在开始编码前我们先使用 [editorconfig](https://editorconfig.org/) 来规范代码风格。
## 插件安装
首先,如官方文档所说以下编辑器不需要安装插件,只需要配置 `.editorconfig`
![No Plugin](http://tbs.zhanghong.info/images/chapters/02/060_no_plugin.png)
以下编辑器需要安装插件和配置 `.editorconfig` 文件
![Has Plugin](http://tbs.zhanghong.info/images/chapters/02/060_has_plugin.png)
下面我们介绍一下在编辑器 Sublime Text 3 和 PhpStrom 里如何安装 `EditorConfig` 插件,如果你使用的是其它需要安装插件的编辑器话,请自行 Google 所使用编辑器如何安装 `EditorConfig` 插件。
### Sublime Text 3 安装插件
1. 安装 Package Control
Package Control 是 Sublime Text 编辑器的插件管理包,所以我们首先要安装它。有了它之后,我们就可以很方便的浏览、安装和卸载 Sublime Text 中的插件。**如果你已经安装了 Package Control 请从本小节的第 2 步开始安装插件。**
打开 Package Control 的网页 [https://packagecontrol.io/](https://packagecontrol.io/) ,点击右侧的 `Install Now` 按钮。
![Install Now](http://tbs.zhanghong.info/images/chapters/02/060_sb_1.png)
进入 [https://packagecontrol.io/installation#st3](https://packagecontrol.io/installation#st3) 页面,选择 `SUBLIME TEXT 3` 选项卡,复制出里面的代码段:
![S3 Code](http://tbs.zhanghong.info/images/chapters/02/060_sb_2.png)
代码复制如下:
```shell
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
```
快捷键 `Ctrl+~` 或者 `Ctrl+Shift+p` 打开 Sublime Text 3 控制台,将之前复制的代码粘贴到控制台里,按下 `Eenter` 键。
等待其安装完成后关闭程序,重新启动 Sublime Text 3 ,点开菜单 `Preferences(首选项)`可见 `Package Control` 项,说明插件管理包已安装成功。
2. 快捷键 `Ctrl+Shift+p` ,打开 `Command Palette` 悬浮对话框,在顶部输入 `Install`, 然后下选点击 `Package Control:Install Package` 。
![Install Control](http://tbs.zhanghong.info/images/chapters/02/060_sb_3.png)
3. 在出现的悬浮对话框中输入 `Editor`, 然后点选下面的 `EditorConfig` 插件,就会自动开始安装,请耐心等待。
![Install Package](http://tbs.zhanghong.info/images/chapters/02/060_sb_4.png)
4. 安装完后重新启动 Sublime Text 3 。
### PhpStorm 安装插件
1. 打开设置面板
![Config Panle](http://tbs.zhanghong.info/images/chapters/02/060_ps_1.png)
2. 打开插件页面
![Plugin Window](http://tbs.zhanghong.info/images/chapters/02/060_ps_2.png)
3. 在插件面板里搜索 `EditorConfig` 插件并完成安装
![Install Plugin](http://tbs.zhanghong.info/images/chapters/02/060_ps_3.png)
## 插件配置
在项目根目录创建 `.editorconfig` 文件:
```shel
$ touch .editorconfig
```
新创建的 `.editorconfig` 文件配置信息如下:
```
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 2
[*.{js,html,css}]
indent_size = 2
```
在这里,我们简单介绍一下以上设置的意义,想了解更多 `.editorconfig` 设置参数介绍请阅读 [editorConfig编辑器配置](https://www.jianshu.com/p/00ac7bd5e74e) :
1. 所有文件的代码缩进方式是『空格』,给所有文件结尾添加一个空行;
2. 除 `md` 文件外其它格式文件保存时自动删除行尾空格;
3. `js`、`css` 和 `html` 文件按 **2** 个空格缩进代码,其它格式文件按 **4** 个空格缩进代码。
## 提交代码
接下来,把代码纳入到版本管理:
```shell
$ git add -A
$ git commit '统一代码风格'
```
- 第一章 基础信息
- 序言
- 关于作者
- PHP和ThinkPHP
- 如何正确阅读本书
- 写作约定
- 开发规范
- 章节体例
- 本书源码
- 第二章 舞台布置
- 开发环境
- 产品分解
- Git和GitHub
- 创建项目
- 数据库视图管理工具
- 统一代码风格
- 目录结构
- 配置信息
- 后台应用搭建
- 助手函数
- 前台布局模板
- 基础控制器
- 小结
- 第三章 注册登录
- 数据迁移
- 表单提交
- 表单验证
- 模型验证
- 短信提供商
- 发送短信
- 手机验证
- 注册提醒
- 登录与退出
- 重置密码
- 数据填充
- 小结
- 第四章 用户相关
- 个人中心
- 编辑个人资料
- 上传图片
- 上传头像
- 显示头像
- 限制头像分辨率
- 裁剪头像
- 显示注册时间
- 授权访问
- 小结
- 第五章 帖子列表
- 话题分类
- 话题模型
- 话题列表
- 性能优化
- 分类话题列表
- 话题列表排序
- 用户发布的话题
- 分页器美化
- 小结
- 第六章_帖子CURD
- 创建话题
- 生成摘要
- 编辑器优化
- 上传图片
- 显示话题
- 编辑话题
- 删除话题
- 小结
- 第七章 帖子回复
- 回复模型
- 回复列表
- 发表回复
- 删除回复
- XSS 安全漏洞
- 小结
- 第八章 角色权限和管理后台
- 多角色用户权限
- 用户管理
- 话题管理
- 回复管理
- 小结
- 第九章 杂项
- 边栏活跃用户
- 用户最后登录时间
- 边栏资源推荐
- 站点首页
- 小结
- 第十章 总结
- 全书总结
- 附录
- 浅谈ThinkPHP6.0 路由