Visual Studio:字符串文字中的零宽度空格字符:检测和/或阻止

时间:2015-08-14 15:15:25

标签: string visual-studio

Visual Studio允许将unicode字符Zero Width Space (U+200B)粘贴到代码编辑器中。这个角色(顾名思义)是不可见的。

这可能导致令人讨厌的错误,例如我刚刚花时间排查HttpWebRequest.CreateHttp(string url)在传递无害的字符串文字UriFormatException"​http://www.umich.edu"投掷h的错误。

发生异常是因为该字符串文字中的第一个字符不是id,name,email_id,address,phone_no,username,password,category,date,而是零宽度空格字符。当我从网页正文中复制URL时,它被放到了剪贴板上,当我在代码编辑器窗口中按Ctrl + V时,它被Visual Studio尽职地粘贴到我的代码中。

启用“查看空白区域”选项(编辑>高级>查看空白区域)会导致Visual Studio显示存在零宽度空格字符。

我希望Visual Studio能够:

  • 当我的代码和/或
  • 中的字符串文字中有零宽度空格字符(或其他不可见字符)时,给出某种指示或警告
  • 首先防止将这些控制字符粘贴到代码编辑器中。

有没有办法让Visual Studio执行此操作?

1 个答案:

答案 0 :(得分:0)

Visual Studio Code的Gremlins跟踪器为我工作。
https://github.com/nhoizey/vscode-gremlins

P.s .: IntelliJ识别那些隐藏的麻烦字符OOTB

enter image description here