[vscode] Unicodeの多義性文字の強調表示

症状(現象)

特定のファイルを Visual Studio Code で開いたときに「多義性文字の強調表示を無効にする」というサジェッションが表示される。

対象バージョン : Visual Studio Code 1.63 以降

 

Unicode 多義性文字の強調表示の例

  • テキストファイルの中に挿入された「全角スペース」や「全角括弧」、「全角感嘆符」、「全角カンマ」などの多義性文字を強調表示する。
  • すべての全角文字が多義性文字というわけではない。日本語に限らず、ASCII文字と混同する恐れがある文字を多義性文字として定義して強調表示している。
  • 多義性文字(Ambiguous characters)をソースコードやデータに紛れ込ませることで脆弱性をつく悪意ある攻撃に注意を喚起するため、デフォルト設定では強調表示が有効化されている。

 

Unicodeの多義性文字の強調表示設定

「設定の検索」で "Unicode" もしくは "Unicode Hightlight" で検索してメニューを探す。

  • 設定により多義性文字の強調表示を全て無効化することができる
  • 設定によりコメント部分の多義性文字の強調表示だけを無効化することもできる。

 

多すぎる多義性文字

たとえば、コメント内の多義性文字の強調表示は無効化できます。

しかし、コメント内の多義性文字の強調表示を無効にしても、多義性文字の総数が多い(約1,000文字以上)ときは、上記の警告が表示されます。そして上記の警告が表示されているファイルは、多義性文字の強調表示がコメント内/コメント外を問わず全般的に無効となります。

 

参考リンク