上一篇介紹的 Sublime Text 2 Package「Alignment」是最多人使用的對齊套件,然而也有另一個Package也是做同樣的操作功能,然而卻有一些的不同,所以這邊也同樣介紹給大家,
Abacus
https://github.com/khiltd/Abacus
在Package於github Respository的README.md中就有說明以及一個動畫圖示說明,相信應該可以一目了然這個Package的說明。
安裝
叫出Command Palette,輸入「install package」,顯示Package List後再輸入「abacus」,選擇「Abacus」後按下Enter鍵,安裝完畢後請重新啟動Sublime2,完成安裝Abacus。
使用
你可以使用快速鍵「Ctrl + Alt + ]」來對選取的程式碼做對齊的操作,或是在你把程式碼選取之後,選擇 Menu 的「Selection > Abacus Align」來完成程式碼對齊的操作。
這一個 Package 與「Alignment」比較大的不同就是在於「Abacus」它可以指定要對齊的部份是否包含指定字符,
以「:」與「=」這兩個字符來說明:
當中的「gravity」可以設定兩種值,一個是「left」而另一個則是「right」。
「gravity」設定為 left 時
使用Align操作時並不會連同指定字符(就是那個token)也一起包含進來做對齊,
Before
After
可以看到只會對「:」之後的程式碼做對齊的操作,所以是會排除指定的token。
「gravity」設定為 right 時
使用Align操作時會連同指定字符(就是那個token)也一起包含進來做對齊,
Before
After
可以看到會對「=」以後的程式碼做對齊的操作,會包含指定的 token。
另外使用「Abacus」進型 Align 操作後,是會把對齊後的程式碼做 multi-selection 的選取,這樣的好處是可以方便我們對這些程式做同步的編輯,如果在執行對齊操作後有 multi-selection 的效果,可以在做完 Align 後接著按「ESC」就可以解除 multi-selection。
Preserve Indentation
這個設置是要當你進行 Align 操作後是否要保持原本程式碼的縮進狀態,如果這邊修改為 false,就不會保持原本程式碼的縮進,不管你選取的程式碼有沒有整齊,你操作Abacus Align之後就是會幫你排好好的;反之,如果設定為 true,當你操作Abacus Align之後,將會你原本的程式碼的縮進。
「preserve_indentation」設定為 false
Before
After
原本key的排版是雜亂的,而當操作Abacus Align之後,就是會幫你排得整整齊齊的。
「preserve_indentation」設定為 true
Before
After
這樣應該可以看出「preserve_indentation」設定為 true or false的差異,預設情況下都是設定為「false」,而實際的使用就要看各位編輯程式時的習慣來做調整。
Abacus 的 Settings
上述的Abacus的設定都會放在以下的地方,「Preferences > Package Settings > Abacus > Settings - Default」
內容:
{
"com.khiltd.abacus.separators":
[
{
"token": ":",
"gravity": "left",
"preserve_indentation": true
},
{
"token": "=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "+=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "-=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "*=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "/=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "?=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "||=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "%=",
"gravity": "right",
"preserve_indentation": true
},
{
"token": "==",
"gravity": "right",
"preserve_indentation": true
}
]
}
這個設定的內容除了單一的「:」「=」字符外,也會有複合字符的token設定,如此也可以對「+=」這樣的程式碼做對齊的操作了。
有關程式碼對齊的 Package 就介紹了兩種,而這兩種 Packages 在操作上是不會相互衝突的,所以你的 Sublime Text 2可以同時安裝這兩種 Packages,反正功能差不多,擇一安裝也可以,就選個適合你的程式碼對齊 Package吧!
以上
請問這個 Package 若要手動安裝的話是要怎麼做阿?
回覆刪除有關手動安裝Package的說明請參考以下的文章:
刪除「Sublime Text 2 - 好用的前端程式編輯器 Part.8 - 手動安裝Package」
http://kevintsengtw.blogspot.com/2012/03/sublime-text-2-part8-package.html