Coding style 根据CodeSniffer,为什么我的行尾仍然是错误的?

Coding style 根据CodeSniffer,为什么我的行尾仍然是错误的?,coding-style,phpstorm,line-endings,Coding Style,Phpstorm,Line Endings,我制作了一个git钩子,在提交之前检查我的代码样式。它将暂存文件传递给CodeSniffer。我使用PSR-2代码样式,这意味着即使在Windows上,换行符也应该是\n。但是,即使更改了PhpStorm设置和git设置,它仍然会给我一个错误,即换行符是\r\n。为什么会发生这种情况 PhpStorm 使用regex on搜索\r\n不会返回实例,因此我认为问题在于git .gitconfig [core] autocrlf = false editor = \"C:/Prog

我制作了一个git钩子,在提交之前检查我的代码样式。它将暂存文件传递给CodeSniffer。我使用PSR-2代码样式,这意味着即使在Windows上,换行符也应该是
\n
。但是,即使更改了PhpStorm设置和git设置,它仍然会给我一个错误,即换行符是
\r\n
。为什么会发生这种情况

PhpStorm
使用regex on搜索
\r\n
不会返回实例,因此我认为问题在于git

.gitconfig

[core]
    autocrlf = false
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor
    eol = lf
[user]
    name = Thomas Moors
    email = thomas.moors@*****.nl
[merge]
    tool = kdiff3
[mergetool "kdiff3"]
    path = C:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
    guitool = kdiff3
[difftool "kdiff3"]
    path = C:/Program Files (x86)/KDiff3/kdiff3.exe
错误

转录:

FILE: ...\Thomas\Documents\example-live\laravel\app\Models\DoMdokUser.php
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 1 | ERROR | [x] End of line character is invalid; expected "\n" but
   |       |     found "\r\n"
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

Time: 105ms; Memory: 4Mb

Fix the error before commit please
编辑:使用另一个编辑器(n++)问题确实出在phpstorm上。替换\r\n可修复此问题。那么为什么PHPStorm不能正常工作呢

使用regex on搜索
\r\n
不会返回实例,因此我认为问题在于git

不一定是git

IDE(PhpStorm)使用规范化的行分隔符(即
\n
/
LF
)将所有行存储在内存中,并且在保存文件时,它会将它们替换为在打开文件时检测到的实际行分隔符符号。这也意味着,如果您碰巧在一个文件中有混合的行结尾(例如
CRLF
LF
)。。保存后,它将只使用一种样式(例如,仅
LF

规范化的行结束允许您以更简单的方式执行正则表达式搜索/替换——无需担心实际符号是什么


现在--
code样式
settings页面--正如您在字段下面的提示中所看到的,它说:“应用于新文件”。这意味着此设置不会以任何方式影响现有文件

要更改特定现有文件的行尾:打开该文件,然后通过状态栏中的相应部分进行更改。。或通过
文件|行分隔符


那么为什么PhpStorm不能正常工作呢


它工作正常——您刚好不知道如何更改行分隔符样式。

这对我来说很有效,但只有在保存文件时才有效。确保更改文件中的某些内容@艾因:它已经修好了:)懒人帮手我想是的,因为你两年前问过它!:)我今天遇到了这个问题,只是添加了评论,因为它可能会在将来帮助其他人。