gpt4 book ai didi

javascript - ESLint : Fast way to solve "Irregular whitespace not allowed"

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:29:38 33 4
gpt4 key购买 nike

我正在尝试使用 ESLint 在项目中强制执行编码风格,并且我有很多 Irregular whitespace not allowed由这样的代码引起的错误:

var a = b ||  10; //note the 2 spaces between || and 10
if (a === 10) { // again, 2 spaces between ) and {
对于我的所有文件,我还没有找到任何轻松解决此问题的方法。
我认为基本的正则表达式不起作用,因为在某些情况下双空格可能是有效的(JSON 对象的列缩进、软制表符的缩进、字符串)。
我尝试了诸如js-beautify之类的工具,但没有找到解决此问题的任何选项。有没有可以帮助我的工具?

最佳答案

您可以使用扩展名 fix-irregular-whitspace对于 vscode
它通过替换 来工作所有非中断空间从您的代码中使用 普通空间 .
特征

  • 自动替换非破坏空间在保存时间 .
  • 添加“修复当前文件中的不规则空格”命令以随意替换所有非中断空间。
  • 添加“修复不规则空白 in workspace ”命令以替换工作空间内的所有非中断空间。 (它将重写并保存您当前未在编辑器中打开的文件,并且只更新事件文件而不保存它们)。

  • 安装
    enter image description here
    如何运行
    命令托盘( CTRL + SHIFT + P )和:
    > Fix irregular whitespace in workspace
    对于整个工作区(项目、文件夹)
    enter image description here
    > Fix irregular whitespace in current file
    对于当前文件!
    一旦被执行!整个后台运行!
    一旦命令运行并完成!您收到此通知!
    enter image description here
    如果你没有使用 vscode !然后你可以通过使用vscode来使用它!你可以用 vscode 轻松打开你的项目文件夹!安装扩展!并简单地运行命令!魔术完成了!
    即使在使用其他 IDE 时,我也会将 vscode 用于许多事情(比如代码块一次(我不得不!帮助 friend !))!
    vscode 太强大了!很多方面!
    什么是不规则空间
    https://eslint.org/docs/rules/no-irregular-whitespace
    一种类似无效的空白,不是 普通制表符和空格 .其中一些字符可能会导致现代浏览器出现问题,而其他字符将是需要发现的调试问题。 (我有一次很糟糕的经历,我挠了挠头!最后我很幸运,我使用了某个编辑器,为我发现了糟糕的空白区域!这就是原因)!
    快乐我们 eslint 检测到它们!还有这么多的编辑器和工具!
    Eslint 将这些空间视为不规则空间
    \u000B - Line Tabulation (\v) - <VT>
    \u000C - Form Feed (\f) - <FF>
    \u00A0 - No-Break Space - <NBSP>
    \u0085 - Next Line
    \u1680 - Ogham Space Mark
    \u180E - Mongolian Vowel Separator - <MVS>
    \ufeff - Zero Width No-Break Space - <BOM>
    \u2000 - En Quad
    \u2001 - Em Quad
    \u2002 - En Space - <ENSP>
    \u2003 - Em Space - <EMSP>
    \u2004 - Tree-Per-Em
    \u2005 - Four-Per-Em
    \u2006 - Six-Per-Em
    \u2007 - Figure Space
    \u2008 - Punctuation Space - <PUNCSP>
    \u2009 - Thin Space
    \u200A - Hair Space
    \u200B - Zero Width Space - <ZWSP>
    \u2028 - Line Separator
    \u2029 - Paragraph Separator
    \u202F - Narrow No-Break Space
    \u205f - Medium Mathematical Space
    \u3000 - Ideographic Space
    关于它们可能导致的问题的示例和见解:

    Invalid or irregular whitespace causes issues with ECMAScript 5 parsers and also makes code harder to debug in a similar nature to mixed tabs and spaces.


    Various whitespace characters can be inputted by programmers by mistake for example from copying or keyboard shortcuts. Pressing Alt + Space on macOS adds in a non breaking space character for example.


    A simple fix for this problem could be to rewrite the offending line from scratch. This might also be a problem introduced by the text editor: if rewriting the line does not fix it, try using a different editor.


    这些空格导致的已知问题:
    零宽度空间
  • 不被视为标记的分隔符,通常被解析为意外标记 ILLEGAL
  • 未在现代浏览器中显示,使代码存储库软件有望解决可视化

  • 行分隔符
  • 不是 JSON 中的有效字符,会导致解析错误

  • 好的
    # 好 不
    是的,这有什么好 不!你不知道!?
    我在那里创造了一个不规则的空间!
    在哪儿 !?这里> #<irregular space>OK<normal space>NO !
    我输入了文字 # + ALT + SPACE + "OK NO" !速度是原因!我做的很快!我知道那把戏!我可以随意创造这种不规则的空间类型!
    你想知道更多!在这里查看我关于不规则空间的文章:
    Fixing and removing irregular spaces
    查看如何创建它们部分!它谈到了 的问题。 Markdown !您可以在 中看到堆栈溢出 ! 自述文件.md 文件写入!如果你已经有这么多的问题!写慢#+空格应该没问题!
    这里是我故意做的另一个不规则空间
    enter image description here
    # + 空间快!然后删除 #!
    事实上,要创建不规则空间,我们只需要 ALT + SPACE !这就是它的原因!
    您可以看到编辑器检测到它(这里的 vscode 带有 eslint linter)!
    更新(用于 eslint)
    实际上已经制定了 eslint lint 规则的修复实现!过几天就出来了!它将作为 eslint 插件 (npm install + add to extends)(允许支持旧的 eslint 版本)!然后是更新版本的 eslint!它也可能进入核心规则!很快再次检查!我也会更新这个部分!有完整的细节!
    喜欢https://github.com/eslint/eslint/issues/14073的可以查看本期

    关于javascript - ESLint : Fast way to solve "Irregular whitespace not allowed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34186283/

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