Skip to content

文字標記的底色 ​

把一小段文字整個染起來、要它從周圍跳出來的那一類顏色:搜尋命中的兩級與區塊端點的 高亮。推導在 Ssms22/UI/TextMarkColors.cs。命中自己的語意與導覽見命中高亮, 取色與生命週期見主題連動。

不走這一層的 ​

鋪滿整行或整個區間的分類色:差異比對的加/刪底、區塊範圍。面積決定屬於哪一類—— 那一類要的是融入(底色淡、原本的文字顏色照舊讀得出來),這一類要的是跳出來(底色實、 字色重算)。兩類混成一份的下場是差異檢視變成一整片深色塊,而命中仍然淡到看不見。

使用者在設定裡指定過的顏色也不走這一層,只做對比校正:套上這裡的亮度帶等於把他挑的 顏色改掉。區塊端點因此只有一個顏色都沒自訂時才走。

三條規則 ​

  • 底色一律落在同一側(深)。佈景強調色的明度會跟著佈景翻轉——淺色佈景是深紫, 深色佈景是亮紫。直接拿它當底色,配對的字色就跟著翻轉,於是同一組的兩級分居明度軸兩側: 深色佈景上「目前那一處」變成亮底深字,而較弱的那一級卻是暗底淺字,看起來比它還強。
  • 字色走這一側能到的最純的那一端,4.5 只是下限不是目標。一達到 4.5 就停的那一版停在 中灰,而中灰配飽和彩底是所有組合裡最難看的一個。表面自己的前景色讀得到就留著它。
  • 同一組的分級只動飽和與強度,不動明度側。弱的那一級往灰退並壓暗,色相留著。

門檻 ​

項目值理由
底色亮度上限0.18再亮下去淺色字過不了 4.5
底色與表面1.45深色佈景上表面本身就在深的那一側,中間只剩這麼窄一段;差額補在色度與字重
兩級之間1.3表面剛好落在兩級中間時(中灰佈景)要把弱的那一級再往暗推,同一個動作同時遠離兩邊
字色與底色4.5下限

推開表面的方向是遠離它:表面比這一塊暗就往淺推,反之往深推。往固定方向推的那一版, 在深色佈景上會先穿過表面的亮度再往黑走,推完是一塊幾乎全黑、色相也沒了的方塊。

高對比 ​

沒有中間色可調,也沒有亮度帶可用:兩級換成反白與系統選取色,差的是色相不是明度。 對比比值在那裡判不出差別,所以驗收只要求兩者不同。

以 Apache-2.0 授權條款發布 · 專為 SSMS 22 設計