如何看到不可視字元

今天同事遇到個奇異現象:編輯器上看來完全正常的檔案內容,實際執行時卻出現錯誤訊息;刪除提示錯誤位置後重新輸入,git 還真的出現未 commit change ?!

聽到相關描述,立馬讓我聯想偶爾會遇到的問題:不可視字元,過去頭一,兩次遇到這個問題常常都是想破頭、搞得人仰馬翻才解決,之前也曾經想紀錄過,但常常都是發生在十萬火急的時間點,實在無暇保留相關資料來紀錄,今天剛好藉由同事的問題來紀錄一下

基本環境說明

  1. macOS Catalina 10.15.1
  2. Windows 10 1909
  3. Visual Studio Code Extension

    • Highlight Bad Chars 0.0.3
    • Gremlins tracker for Visual Studio Code 0.15.1

狀況描述

  1. syntax error

    1syntaxerror

  2. git 出現 change

    2gitchange

嘗試解決方式

  • 原始內容

    4original

  1. vi 編輯器

    過去有些特殊字元曾經使用過這個方式解決問題,但這次無效

    :set list

    3vi

  2. Windows 環境使用 Notepad++

    有些特殊字元在 Notepad++ 中會顯示為方框,或是特殊符號,但本次也無效

    2notepadd

  3. Visual Studio Code Extension - Highlight Bad Chars

    會出現紅色 highlight,提示有特殊字元

    5badchar

  4. Visual Studio Code Extension - Gremlins tracker for Visual Studio Code

    行數前面會出現鬼臉,hover 至特殊符號位置會出現對應的 unicode 代碼

    Gremlins

心得

過去我在 vi 或是 notepadd++ 就可以看出問題,今天這兩招完全無效,也激起我想找出這個字元的鬥志,雖然 Visual Studio Code Extension - Highlight Bad Chars 也可以看出有特殊字元,但一開始的出發點是為了筆記方便而裝的,遇到特殊字視反正就是直接刪掉重 key 就好,直到今天才找到 Visual Studio Code Extension - Gremlins tracker for Visual Studio Code 可以直接看到 unicode 更是便利呀,幸虧同事有遇到問題XD

不過同時我也想到如果問題是發生在 linux 環境中,vi 又看不出來,可能又是一陣兵慌馬亂了,我猜最後我可能是哪裡出現 syntax error 就刪哪裡重新輸入吧 ~~ 不知道還有沒有其他方式,請各位大師指教了

參考資訊

  1. Highlight Bad Chars
  2. Gremlins tracker for Visual Studio Code