gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:14:38 28 4
gpt4 key购买 nike

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

PhpStorm
使用正则表达式搜索 \r\n 不会返回实例,所以我认为问题出在 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: ...\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 不能正常工作呢?

最佳答案

Searching for \r\n with regex on does not return instances, so I believe the problem to lie with git.

不一定是 git。

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

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


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

要更改特定现有文件的行尾: 打开文件并通过状态栏中的适当部分更改它.. 或通过 File |行分隔符

enter image description here

enter image description here


So why does PhpStorm not work properly?

它工作正常——你只是碰巧不知道如何更改行分隔符样式。

关于coding-style - 根据 CodeSniffer,为什么我的行尾仍然是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422694/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com