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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据CodeSniffer,为什么我的行结尾仍然错误?相关的知识,希望对你有一定的参考价值。

我做了一个git钩子,在提交之前检查我的代码样式。它将暂存的文件传递给CodeSniffer。我使用PSR-2代码风格,这意味着即使在Windows上换行也应该是 。然而,即使在更改phpStorm设置和git设置后,它仍然会给我一个错误,即换行符是 。为什么会这样?

PhpStorm 使用正则表达式搜索 不会返回实例,所以我认为git存在问题。

enter image description here

的.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

错误

enter image description here

转录:

FILE: ...ThomasDocumentsexample-livelaravelappModelsDoMdokUser.php
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 1 | ERROR | [x] End of line character is invalid; expected "
" but
   |       |     found "
"
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

Time: 105ms; Memory: 4Mb

Fix the error before commit please

编辑:使用另一个编辑器(n ++)问题确实似乎在于phpstorm。替换 r n可以解决问题。那么为什么PHPStorm无法正常工作?

答案

使用正则表达式搜索 不会返回实例,所以我认为git存在问题。

不一定用git。

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

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


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

要更改特定现有文件的行结尾:打开文件,然后通过状态栏中的相应部分进行更改..或通过File | Line Separators

enter image description here

enter image description here


那么为什么PhpStorm无法正常工作?

它工作正常 - 你碰巧不知道如何改变行分隔符样式。

以上是关于根据CodeSniffer,为什么我的行结尾仍然错误?的主要内容,如果未能解决你的问题,请参考以下文章

windows环境PhpStorm中简单使用PHP_CodeSniffer规范php代码

选择字符串中子串最长的行

win10下安装PHP_CodeSniffer 检查编码规范

PhpStorm 中的神秘选中图标

PHP_CodeSniffer HG 服务端部署篇

仍然收到“无法识别 URL 意外以...结尾的请求格式”