Yanıtlar:
Bir belgede girinti aralığınızı dönüştürmek için Sublime Text 2 veya 3'te düzgün bir hile.
TL; DR:
2 uzaydan 4 uzaya dönüştürme:
Sekme genişliğinin 2 olarak ayarlandığından emin olun. 2 boşluklu girintinizi sekmelere dönüştürün, sekme genişliği 4'e geçin ve girintiyi tekrar boşluklara dönüştürün.
Detaylı açıklama:
Şuraya git:
View -> Indentation
Bunu şöyle olmalıdır:
Indent using spaces [x]
Tab width: 2
belirleyin:
Convert Indentation to Tabs
Sonra Seçin:
Tab width: 4
Convert Indentation to Spaces
Bitti.
Aslında akıl sağlığımın kullanıcı tercihlerinin şu şekilde tanımlanmasını daha iyi buldum:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
detect_indentation: false
O aksine, her dosya bu ayarları onurlandırmak için Sublime zorlar gibi özellikle önemlidir View -> Indentation
ayarlara.
Süslü olmak istiyorsanız, aşağıdakileri yapıştırarak kodunuzu (YMMV) otomatik olarak yeniden girintili yapmak için bir klavye kısayolu da tanımlayabilirsiniz Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
boşlukları görselleştirmek için:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
Zihnimde Magne'den daha basit bir çözüm buldum:
Mac'te:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Pencerelerde veya diğer platformlarda cmd+f
ve alt+enter
siz find
ve select all
kısayol tuşlarınız ne olursa olsun değişir .
Not: kodunuzda birden fazla alan varsa bu yöntem "hatalara" yatkındır. Bu nedenle Magne'nin yönteminden daha az güvenlidir, ancak daha hızlıdır (en azından benim için).
RubyFormat
varsa, istediğiniz sekme boyutunu ayarlayabilir ve daha sonra kodun yeniden biçimlendirilmesini yapabilirsiniz. Bu durumda RubyFormat
olurdu cmd+shift+R
.
Önerilerin çoğu 2 -> 4 alanı dönüştürürken çalışır. 4 -> 2 dönüştürürken bazı sorunlarla karşılaştım.
İşte ben kullanarak sona erdi:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
Bu kodu özel anahtar bağlantılarınıza eklemelisiniz:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
ctrl + f12 tuşlarına basarsanız, dosyanızı 4 sekme boyutuna gönderir. Farklı bir sekme boyutu istiyorsanız, yalnızca "değer" numarasını değiştirirsiniz. Te biçimi basit bir json.
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
Son zamanlarda benzer bir sorunla karşılaştım. Yüce editör kullanıyordum. kodla ilgili değil, editörle ilgili bir sorun.
Aşağıda tercih ayarlarındaki değişiklik benim için çalıştı.
Yüce Metin menüsü -> Tercihler -> Ayarlar: Sözdizimine Özgü :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}