急急 Vim 怎样使用 phpstrom 自定义的代码格式化规则!!

2018-05-28 18:35:44 +08:00
 lampxiongdi

刚入职一家公司团队其他人都使用的 phpstrom 都用的一样的格式化规则(自定义的 不遵循什么 PSR2 和 symfony) 不打算转入 phpstrom 如何做到和其他同事保持一样的代码风格 求帮助

2428 次点击
所在节点    Vim
9 条回复
lampxiongdi
2018-05-28 18:42:17 +08:00
求大神 给个方案!
likaci
2018-05-28 18:48:00 +08:00
要么自己写规则
要么提交前用 ide 格式化一下
要么 phpstrom 装 ideavim 插件呗

入乡随俗吧 jb 家的 ide 好用的很
cxbig
2018-05-28 18:48:54 +08:00
如果是基于 PhpStorm 的自定义,那不大好弄,如果是基于标准的 PSR-*系列,那常规插件还是不少的。
为啥不转 PhpStorm ?你一样可以用 Vim Mode 的啊
lampxiongdi
2018-05-28 18:52:41 +08:00
@likaci 如何交给 IDE 处理? ideavim 插件阉割好多特性吧 还有一个 phpstrom 打开很慢的 占内存 写个 php 没必要用 IDE 啊
likaci
2018-05-28 19:03:45 +08:00
lampxiongdi
2018-05-28 19:12:22 +08:00
@likaci 我艹 牛逼 感谢感谢
ruchee
2018-05-28 20:15:44 +08:00
安装 php-cs-fixer,然后安装对应的 Vim 插件

cat ~/.php_cs
```php
<?php

return PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules([
'@PSR2' => true, // 使用 PSR2 规范
'array_syntax' => ['syntax' => 'short'], // 使用短数组语法
'binary_operator_spaces' => ['align_equals' => true, 'align_double_arrow' => true], // 对齐 = 和 =>
'ordered_imports' => true, // 导入语句排序
'single_quote' => true, // 优先使用单引号字符串
'blank_line_after_opening_tag' => true, // PHP 开标签下面保证有一个空行
'trim_array_spaces' => true, // 单行数组去除头部和尾部的空白
'trailing_comma_in_multiline_array' => true, // 多行数组确保子元素带尾部逗号
'backtick_to_shell_exec' => true, // 将反引号转换为 shell_exec
'dir_constant' => true, // 将 dirname(__FILE__) 转换为 __DIR__
'function_to_constant' => true, // 将可以用常量替代的函数转换为常量
'method_argument_space' => false, // 不要将存在换行的参数列表强制转换为一个参数一行
])
->setUsingCache(false)
->setFinder(
PhpCsFixer\Finder::create()
->exclude('.git')
->exclude('.svn')
->exclude('.vagrant')
->exclude('.idea')
->exclude('.vscode')
->exclude('vendor')
->exclude('node_modules')
->in(__DIR__)
);
```
lampxiongdi
2018-05-28 22:53:08 +08:00
@likaci 这个格式化太慢了。。。 本来打算保存就执行一次格式化 目前来看只能写完 统一执行一次了
KentY
2018-07-02 21:53:59 +08:00
回复只为头像一样。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/458444

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX