Kate
Kate 用製表符替換對齊空間
在 Kate (3.11.2) 中縮進一段程式碼時,用於對齊的空格被製表符替換,破壞了所有對齊,讓我陷入了恢復所有這些空格的地獄。
例子:
if (true) { —→$foo = 'bar'. —→•••••••'baz'; }
(
—→
是製表符,•
空格)我使用兩個字元寬的製表符縮進。問題是當我選擇這些行並按下
Tab
鍵以添加縮進級別時:它用一個選項卡替換兩個空格的組:—→if (true) —→{ —→—→$foo = 'bar'. —→—→—→—→—→'baz'; —→}
刪除最後一個(奇數)空格。這是錯誤的,因為標籤寬度是未定義的,並且必須能夠在不破壞程式碼表示的情況下改變。
在我的設置 (
Editor Component → Editing → Indentation
) 中,我設置Indent using
為 onTabulators and Spaces
但它不保存它並立即返回 onTabulators
。它是一個錯誤嗎?還是我的凱特配置錯誤?
作為一名 Kate 開發者,答案如下:
Kate 的縮進系統支持縮進和對齊的概念:
或者,可以返回一個包含兩個元素的數組:
return [ indent, align ];
在這種情況下,第一個元素是縮進深度,與上面的特殊值含義相同。但是,第二個元素是表示“對齊”列的絕對值。如果該值高於縮進值,則差值表示在第一個參數縮進後要添加的空格數。否則,忽略第二個數字。使用製表符和空格進行縮進通常被稱為“混合模式”。
所以理論上它是有效的。然而,在實踐中,“C 風格”壓頭和大多數其他壓頭不支持這一點。相反,它們只是返回縮進級別,而不區分縮進和對齊。
換句話說:您想要的功能沒有實現。
好消息是所有這些縮進器都是用 JavaScript 編寫的,因此可以很容易地更改。隨時歡迎通過 kwrite-devel@kde.org 投稿。因此,如果您對此感興趣,請聯繫我們!