區塊配對驗收
本頁包含區塊配對在 SSMS 宿主中的視覺、互動與整合驗收。行為規則見區塊配對, 配色見配色;測試專案已有的案例不在這裡重列。 建置成功與公開 API 探測不能代替視覺驗收;工作階段只回傳透明像素時像素驗收會明確略過, 透明截圖不算通過。
準備
- 儲存查詢並關閉所有 SSMS 視窗,以安裝流程安裝最新 VSIX。 未 commit 時版本號不變,重裝前先使用
tools/Uninstall-Extension.ps1 -Quiet移除舊版;設定會保留。 - 開啟專用驗收 SQL。 只驗證編輯器,不執行 SQL、不必連線資料庫;方括號案例可能顯示原生語意錯誤,屬正常。
- 工具 → 選項 → SqlAssist → 區塊配對,先保留預設值。
功能檢查
| 項目 | 操作與預期 |
|---|---|
| A | 點 BEGIN/TRY/CATCH/CASE 的字母中間,正確兩端有明顯前背景;括號可另用一組色彩 |
| B | 游標放區塊內一般 SQL,最近一層有淡背景;同行 CASE/括號/字串預設也顯示 |
| B 進階 | 關閉「同一行區塊也顯示背景色」後略過同行小區塊;關掉 A 而保留 B,仍可單獨顯示背景 |
| C | 跨行區塊有原生導引線;「補充區塊摺疊」預設關閉,SSMS 原生 +/− 不受影響 |
| D | 游標在區塊內,涵蓋行(含空白行)有色帶;往下捲再回來每行仍完整 |
| E | 游標放區塊內任意文字,捲軸顯示兩端與範圍色帶;關閉背景後仍可顯示,摺疊與縮放後仍合理定位 |
| F | 開啟提示後,起始行在上方不可見時出現摘要;hover 為手形與連結色,點擊返回起始行,不占 Tab 焦點 |
F 也可在區塊內的一般文字位置顯示上下文。游標放在 END 之後的空白不算點中端點。 E/F 預設開啟;既有使用者若曾儲存設定,需手動調整或逐項恢復預設。 獨立 BEGIN/TRY/CATCH 不附加上一行,即使上一行是 END TRY、IF 或註解;起始行有 其他內容時才顯示該行摘要。F 底色不透明,底下 SQL 不應穿透提示。 區塊總開關關閉後,所有擴充呈現立即消失,子項目灰階;再開啟時恢復原選項。 SSMS 自己的原生大綱不會被本擴充總開關關閉。
回歸與環境
- 註解、字串、交易、跳脫
]]、GO、未閉合/錯配不誤配。 - 快速輸入、刪除、復原與重做;停止輸入後顯示最新位置,不出現舊快照標記。
- 連續快速打字時 A/B/C/D/E 不得閃爍或整段消失;刪掉
END後高亮在一個 debounce 週期內消失。分割檢視各自的高亮在打字期間仍跟著文字移動。 - 分割檢視移動不同游標;各自選擇配對,關掉其中一個不影響另一個。
- 開關各子項目不用重啟;關閉 CASE/括號不改變外層 END 歸屬。
- 淺色/深色/高對比、100%/150%/200% DPI 與縮放、水平捲動、長行摘要及小視窗。
- 在區塊配對頁設定基準色
#4F86C6,反覆切換深淺與不同色系;B/D/E/F 同步適配, 區間不變實心或逐次變淡。清空恢復主題色,無效色碼回退,高對比忽略自訂色。 - 關鍵字與括號前背景各按「選取色彩…」,取消不變更,確定後欄位與編輯器同步更新。 自訂前景
#FFFFFF必須維持白字;低對比時調整背景,不影響 SQL 其他文字,移開游標後還原原分類。 - F 顯示後編輯/復原/折疊再點提示,不得用舊 snapshot 移動游標;hover 淡底維持不透明。
- 全域前背景改色後,符號留空應繼承;只覆寫符號其中一色時,另一通道仍繼承並校正對比。
- 對
''、N'借閱'、'Loan''Copy'與多行字串測試;只高亮外框,不高亮跳脫引號與 N。 註解中的引號及未閉合字串不配對,字串內的 BEGIN/END 不影響外層。 - D 在 LF/CRLF、連續空白行、換行與未換行長行、100%/200% 縮放反覆上下捲,不能缺漏。
- 關掉區間的「區塊內也顯示」可恢復端點模式;CASE/括號種類及其他呈現仍可獨立控制。
- 舊「字型與色彩」的區塊背景不再作為輸入;既有自訂色請改填區塊基準色。
- 保持 SSMS 淺色而將編輯器底色改深色,或反過來;D/E 的種類色帶仍應可辨認。
- 編輯器重建 Tagger(如內容類型切換)後,A/D 不應因重用已釋放實例而失效。
若 C 未出現,先確認 SSMS 的大綱/結構導引線本身未停用;不要為了驗收改動查詢或執行 SQL。 回報時列出失敗項目 A–F、游標行號、設定、主題與縮放;診斷與快取更新見偵錯。
尚未在實機確認
B–F 的 SSMS 顯示、新分類高亮、原生選色、捲動與導覽還沒有實機結論。確認之後整節刪掉, 不要改寫成日期流水帳。