日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

vscode控制字符引起的问题以及解决思路

發布時間:2025/3/15 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vscode控制字符引起的问题以及解决思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 環境

  • macOS Sierra 10.12.5
  • vscode 1.20.0 最新版

2. 如何重現這個問題

在使用中文輸入法輸入中文的時候,一直按后退鍵,例如輸入sfsf,當你按了4下后退鍵時,你會發現,搜狗輸入法彈出框雖然消失了,但是頁面上還會剩下一個s, 這是你如何再次按一下后退的話,s就會變成bs, 變成隱藏字符。這個一般是右邊有markdown渲染插件時才會出現。

從更確切的角度說,是你的編輯器一旦開了webview,就會出現這個問題,即使是vscode的歡迎頁,也是webview,也會導致這個問題。所以最好在寫代碼時盡量關閉webview。

3. 如何讓隱藏字符現身

Mac版的vscode控制字符一般是不會顯示出來的,可以用一下的方法讓其顯示出來

"editor.renderControlCharacters": true

在編輯器中顯示的像很小的BS, 表示backspace的意思。一般是在輸入時,按了后退或者刪除會偶爾出現這個字符。

4. 隱藏的控制字符會出現什么問題?

4.1. 控制字符在github上會出現問號

例如下圖的的和同字之間就是出現一個隱藏字符,在github上就會出現一個帶有背景的問號。

4.2. 控制字符在Hexo NexT Local Search 會導致search.xml渲染失敗,搜索框一直在轉圈

如果你使用瀏覽器打開search.xml,會發現解析報錯

5. 如何解決

5.1. 手動刪除隱藏字符

可以使用替換,先復制一個隱藏字符,然后把隱藏字符替換成空

5.2. 使用插件 Remove backspace control character

Remove backspace control character

在本家chromium已被合并,因此,在8月上旬發行的vscode 1.15將會重新確定(vscode 1.15, electron 1.7.4)。事實上,到現在這個問題還是沒解決的

特點

格式化程序,用于刪除打開的文檔中包含的控制字符。要被刪除的控制字符默認如下。

/[\u0000]|[\u0001]|[\u0002]|[\u0003]|[\u0004]|[\u0005]|[\u0006]|[\u0007]|[\u0008]|[\u000b]|[\u000c]|[\u000d]|[\u000e]|[\u000f]|[\u0010]|[\u0011]|[\u0012]|[\u0013]|[\u0014]|[\u0015]|[\u0016]|[\u0017]|[\u0018]|[\u0019]|[\u001a]|[\u001b]|[\u001c]|[\u001d]|[\u001e]|[\u001f]|[\u001c]|[\u007f]/gm

用法

  • "editor.formatOnSave": true 如果被設定,保存時啟動
  • "editor.formatOnType": true 在被設定的情況下,進行變換時;輸入時啟動

5.3. 坐等官方給出更好的解決方案

官方這個bug依然還是open狀態。Using IME with markdown preview enabled, press ESC/BACKSPACE leads in control characters #37114

5.4. 關閉所有webview

這個問題一般出現在標簽頁含有webview時發生,所以在升級到vscode最新版后,在寫代碼時要注意,不要開啟任何有webview的標簽頁,其中包括

  • 關閉markdown渲染插件實時渲染的功能
  • 關閉vscode歡迎頁標簽頁

6. 為什么官方不直接解決這個問題?

  • vscode底層使用了electron,這是electron的Backspace can not erase the last one character during Japanese IME conversion (macOS) #9173bug, electron不解決這個問題,vscode就不會解決。
  • electron底層使用了chromium, 這是chromium的Two backspaces required to delete last character in webview inputbug, chromium不解決,elctron就無法解決。
  • 綜上,截止文章寫出之時,這個問題依然沒解決。

7. 參考

  • Mac 上的 VSCode 編寫 Markdown 總是出現隱藏字符?
  • Hexo next 主題的 local search 功能失效,點擊搜索鏈接無法彈出疊加層
  • Backspace can not erase the last one character during Chinese/Japanese IME conversion (macOS) #24981
  • Backspace can not erase the last one character during Japanese IME conversion (macOS) #9173
  • Two backspaces required to delete last character in webview input
  • 控制字符
  • Using IME with markdown preview enabled, press ESC/BACKSPACE leads in control characters #37114

總結

以上是生活随笔為你收集整理的vscode控制字符引起的问题以及解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。