日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/15 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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控制字符引起的问题以及解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。

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