Saya tahu ada banyak posting tentang ini, tapi aku tidak´t mendapatkan itu untuk bekerja.
Saya menggunakan tab untuk coding. Apakah ada cara untuk mengkonversi selalu ruang untuk tab? I. e. buka dan Simpan file? Ada yang punya ide?
// edit:
Keinginan saya adalah untuk melakukan hal ini otomatis! -> membuka, menyimpan atau on the fly
Apakah ada yang tahu bagaimana melakukannya?
saya mencoba ini:
import sublime, sublime_plugin, os
class ExpandTabsOnSave(sublime_plugin.EventListener):
# Run ST's 'expand_tabs' command when saving a file
def on_pre_save(self, view):
if view.settings().get('expand_tabs_on_save') == 1:
view.window().run_command('expand_tabs')
Dan di sini saya pengguna Pengaturan:
{
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
"auto_indent": true,
"detect_indentation": true,
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"expand_tabs_on_save": true,
"font_face": "SourceCodePro-Regular",
"font_size": 10,
"format_on_save": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"open_files_in_new_window": false,
"smart_indent": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_automatic_white_space": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": false,
"word_wrap": false
}
Di pojok kanan bawah anda Sublime Text jendela, anda'll melihat lekukan indikator yang terlihat banyak seperti ini:
Mengeklik tombol ini akan membuka menu dengan pilihan untuk menyesuaikan lekukan preferensi, dan yang lebih penting, untuk convert spasi untuk tab dan sebaliknya.
Menu yang sama tercantum di bawah Lihat -> Lekukan
.
Di bawah Luhur jendela, anda'll melihat sesuatu yang mewakili tab/pengaturan ruang.
Anda'll kemudian mendapatkan dropdown dengan banyak pilihan. Opsi yang anda pedulikan adalah:
Menerapkan pengaturan yang anda inginkan untuk seluruh dokumen.
Semoga ini bisa membantu.
Seperti yang anda mungkin sudah tahu, anda dapat menyesuaikan indention pengaturan Preferensi.luhur-pengaturan`, misalnya:
"detect_indentation": true,
"tab_size": 4,
"translate_tabs_to_spaces": false
Ini akan mengatur editor anda untuk menggunakan tab yang ada 4 ruang yang luas dan akan mengganti default perilaku yang menyebabkan Luhur untuk mencocokkan indention dari apapun file anda're editing. Dengan pengaturan ini, re-indentasi file akan menyebabkan ruang untuk diganti dengan tab.
Sejauh otomatis re-indentasi ketika membuka sebuah file, yang's tidak cukup mudah (tapi mungkin isn't ide yang bagus karena perubahan spasi mendatangkan malapetaka pada file diff). Apa yang mungkin menjadi lebih baik dari tindakan: anda dapat peta cara pintas untuk re-indention dan hanya memicu bahwa ketika anda membuka sebuah file baru yang harus diperbaiki.
Berikut ini adalah solusi yang secara otomatis akan mengkonversi ke tab setiap kali anda membuka file.
Membuat file ini: .../Packages/User/on_file_load.py
:
import sublime
import sublime_plugin
class OnFileLoadEventListener(sublime_plugin.EventListener):
def on_load_async(self, view):
view.run_command("unexpand_tabs")
CATATAN. Hal ini menyebabkan file yang akan di sebuah negara yang belum diselamatkan setelah pembukaan itu, bahkan jika tidak ada ruang yang sebenarnya-untuk-tab konversi terjadi... mungkin ada yang bisa membantu dengan memperbaiki itu...
Untuk secara otomatis convert spasi untuk tab save, tambahkan kode berikut script Python untuk yang baru dibuat subfolder yang disebut "UnexpandTabsOnSave" hanya "$SUBLIME_HOME$\Packages\":
import sublime, sublime_plugin, os
class ConvertSpacesToTabsOnSave( sublime_plugin.EventListener ):
# Run Sublime's 'unexpand_tabs' command when saving any file
def on_pre_save( self, view ):
view.window().run_command( 'unexpand_tabs' )
Terima kasih untuk sumber awal.
Yang dapat anda lakukan mengganti tab dengan ruang-ruang di semua file proyek oleh:
Ctrl+beralih k+F
^\A(.*)$
Anda dir
\1
Anda dapat mengaktifkan pengaturan ini dengan masuk pada menu Preferences -> Pengaturan
dan menambahkan isi ini untuk pengaturan file:
"ensure_newline_at_eof_on_save": true,
"trim_trailing_white_space_on_save": true,
View -> Menunjukkan Console (Ctrl+
)dan jalankan perintah:
impor threading; threading.Thread( args=(set(),), target=lambda counterset: [ (lihat.run_command( "expand_tabs", {"set_translate_tabs": True} ), print( "Pengolahan {:>5} pandangan {:>5}, melihat id {} {}".format( len( counterset ) + 1, len( jendela.views() ), lihat.id(), ( "Selesai mengkonversi!" jika len( counterset ) > len( jendela.views() ) - 2 yang lain "," ) ) ), counterset.tambahkan( len( counterset ) ) ) untuk melihat di jendela.views() ] ).start()`File -> Simpan Semua