盤古之白
如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會坐立難安,忍不住想在它們之間加個空格。這個 Visual Studio Code 擴充套件會自動替你在文件中所有的中文字和半形的英文、數字、符號之間插入空白。如果有任何建議與討論,歡迎來到這裡留言交流。

主要特色
- 支援將選取文字加入盤古之白
- 支援將整份文件加入盤古之白
- 支援透過 GitHub Copilot Chat 呼叫盤古之白功能 ⭐ NEW!
- 支援 Markdown 文件加入盤古之白
- 支援 GFM (GitHub Flavored Markdown) 格式
- 支援 Azure DevOps Wikis 的專屬語法
- 支援 HackMD 專屬的格式
- 支援文件開頭的 YAML, TOML 格式
- 可自動判斷 Inline Code、粗體、斜體、刪除線與文字之間的空白判斷
- 支援 LaTeX 數學公式保護(如
$d_{15}$
)
- 支援指令區塊保護(如
::: warning
區塊)
- 支援儲存文件時自動加入盤古之白 (預設並未啟用)
- 智慧處理全形與半形括號轉換
- 修正 LLM 常見的格式問題
- 自動修正
內容,**內容(Content)**內容
→ 內容,**內容(Content)** 內容
- 自動修正
1. **標題:**內容
→ 1. **標題**:內容
使用方式
本工具提供兩種使用方式:
1. 傳統命令模式
本工具主要有兩個命令:
- 將編輯器中的選取範圍加入盤古之白 (
pangu2.add_space_selection
)
- 將編輯器中的整份文件加入盤古之白 (
pangu2.add_space_whole
)
使用方式也有兩種:
在編輯中按下滑鼠右鍵,選擇 Pangu: 加入盤古之白 (選取範圍)
或 Pangu: 加入盤古之白 (整份文件)
命令。
程式會自動判斷你目前是否有選取文字,如果有選取文字,就只會顯示 Pangu: 加入盤古之白 (選取範圍)
在右鍵選單中。
反之,沒有選取文字時,預設只會顯示 Pangu: 加入盤古之白 (整份文件)
在右鍵選單中。
在編輯器中按下 F1
後輸入 pangu
搜尋命令,有 Pangu: 加入盤古之白 (選取範圍)
或 Pangu: 加入盤古之白 (整份文件)
可以選擇。
2. GitHub Copilot Chat 整合 ⭐ NEW!
現在你可以透過 GitHub Copilot Chat 直接呼叫盤古之白功能:
開啟 GitHub Copilot Chat(使用 Ctrl+Shift+I
或點擊側邊欄的 Copilot 圖示)
在對話中使用 #pangu
工具來格式化文本:
請幫我用 #pangu 格式化這段文字:
這是一個test測試,包含123數字和English單詞。
你也可以啟用鬆散格式化模式來減少 Markdown 中的跳脫字元:
使用 #pangu 工具格式化以下 Markdown 內容,並啟用鬆散格式化:
# 標題Test
這是**粗體test**的例子。
優點:
- 可以在撰寫大量 prompt 時,直接在對話結尾呼叫格式化功能
- 不需要切換到編輯器或使用滑鼠右鍵
- 支援批次處理多段文字
- 可以搭配其他 AI 功能一起使用
系統需求
基本功能
- Visual Studio Code 1.95.0 或更新版本
GitHub Copilot Chat 整合
- Visual Studio Code 1.95.0 或更新版本
- GitHub Copilot 訂閱
- GitHub Copilot Chat 擴充套件
注意:GitHub Copilot Chat 整合功能使用了 VS Code 的實驗性 API。如果遇到問題,請確保你的 VS Code 版本是最新的。
進階功能
LaTeX 數學公式支援
擴充套件會自動保護 LaTeX 數學公式,避免公式內的下標符號被錯誤處理:
原始: 質能關係式 $E=mc^2$ 和化學式 $H_{2}O$ 都會被正確保護
結果: 質能關係式 $E=mc^2$ 和化學式 $H_{2}O$ 都會被正確保護
指令區塊保護
支援保護 Markdown 中的指令區塊,確保其內容不被處理:
::: warning 重要提醒
這段內容包含中文English混合,但不會被處理
:::
全形括號智慧轉換
自動將全形括號轉換為半形括號,提升文件一致性:
原始: 這是(全形括號)的範例
結果: 這是 (半形括號) 的範例
LLM 輸出優化
針對大語言模型常見的格式問題進行自動修正:
修正前: 內容,**標題(Content)**內容
修正後: 內容,**標題(Content)** 內容
修正前: 1. **標題:**內容說明
修正後: 1. **標題**:內容說明
選項設定

主要設定有三個,分別是:
pangu2.autoAddSpaceOnSave
(boolean)
設定是否要自動在儲存文件時加入盤古之白。預設為 false
。
pangu2.autoAddSpaceOnSaveFileExtensions
(array)
設定僅在特定檔案類型儲存時自動執行盤古之白。預設為 [ ".txt" ]
。
若設定為 [ "*" ]
,則代表所有檔案類型都會自動加入盤古之白。
注意:此設定僅在 pangu2.autoAddSpaceOnSave
為 true
時才會生效。
pangu2.enableLooseFormatting
(boolean)
啟用鬆散格式可減少 Markdown 中不必要的字元跳脫。預設為 false
。
當啟用時,會減少以下字元的跳脫:
_
符號:例如 hello\_world
會變成 hello_world
[
符號:例如 ## \[文字]
會變成 ## [文字]
~
符號:例如 好開心\~
會變成 好開心~
,但保留雙波浪號 ~~刪除線~~
的跳脫
注意:此設定僅影響 Markdown 文件的處理。
設定範例如下:
{
"pangu2.autoAddSpaceOnSave": true,
"pangu2.autoAddSpaceOnSaveFileExtensions": [
".txt",
".md"
],
"pangu2.enableLooseFormatting": true
}
已知問題
感謝
本擴充套件源自 vinta/pangu.js 專案的幫助,自動在中文和英文、數字、符號之間插入空白。
部分程式碼參考自 halfcrazy/vscode-pangu 的實作,並加以優化改進。