Saya tahu ada banyak posting tentang ini, tetapi saya tidak bisa membuatnya berfungsi.
Saya menggunakan tab untuk pengkodean. Apakah ada cara, untuk mengubah selalu spasi menjadi tab? Yaitu terbuka dan di Simpan file? Adakah yang punya ide?
// edit:
Keinginan saya adalah melakukan ini secara otomatis ! -> buka, simpan atau on the fly
Apakah ada yang tahu caranya?
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 adalah Pengaturan pengguna saya:
{
"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
}
Ctrl + ~
dan melihat apakah itu memberi Anda kesalahan plugin? Dan jika Anda memiliki Paket Kontrol yang diinstal, dapatkah Anda melihat apakahExpandTabsOnSave
terdaftar sebagai plugin yang diinstal?print("debug")
atau mirip dengan plugin untuk melihat apakah itu menjalankan atau tidak di simpan.Jawaban:
Di sudut kanan bawah jendela Teks Sublime Anda, Anda akan melihat indikator lekukan yang sangat mirip seperti ini:
Mengkliknya akan membuka menu dengan opsi untuk menyesuaikan preferensi indentasi Anda, dan yang lebih penting
Convert Indentation to Tabs/Spaces
,.Menu yang sama tercantum di bawah
View -> Indentation
.sumber
Di bagian bawah jendela Sublime, Anda akan melihat sesuatu yang mewakili pengaturan tab / spasi Anda.
Anda kemudian akan mendapatkan dropdown dengan banyak opsi. Opsi yang Anda pedulikan adalah:
Terapkan pengaturan yang Anda inginkan ke seluruh dokumen.
Semoga ini membantu.
sumber
Seperti yang mungkin sudah Anda ketahui, Anda dapat menyesuaikan pengaturan indentasi Anda dalam
Preferences.sublime-settings
, misalnya:Ini akan mengatur editor Anda untuk menggunakan tab yang lebar 4 spasi dan akan menimpa perilaku default yang menyebabkan Sublime cocok dengan indentasi file apa pun yang Anda edit. Dengan pengaturan ini, indentasi ulang file akan menyebabkan spasi diganti dengan tab.
Sejauh indentasi ulang saat membuka file, itu tidak semudah itu (tapi mungkin bukan ide bagus karena perubahan spasi putih mendatangkan malapetaka pada file diffs). Apa yang mungkin merupakan tindakan yang lebih baik: Anda dapat memetakan jalan pintas untuk indentasi ulang dan hanya memicu ketika Anda membuka file baru yang perlu diperbaiki.
sumber
Anda bisa menggunakan palet perintah untuk menyelesaikan masalah ini.
Langkah 1:
Ctrl + Shift + P
(untuk mengaktifkan palet perintah)Langkah 2: Ketik "Indentasi", Pilih
"Indentation: Convert to Tabs"
sumber
Dalam kasus saya, baris ini memecahkan masalah:
sumber
Berikut adalah solusi yang akan secara otomatis dikonversi ke tab setiap kali Anda membuka file.
Buat file ini
.../Packages/User/on_file_load.py
::CATATAN. Itu menyebabkan file berada dalam keadaan tidak disimpan setelah membukanya, bahkan jika tidak ada konversi spasi-ke-tab yang sebenarnya terjadi ... mungkin beberapa dapat membantu dengan perbaikan untuk itu ...
sumber
.../Packages/User/on_file_load.py
, bukan.php
on_load
bukanon_load_async
.Untuk secara otomatis mengonversi spasi menjadi tab pada save , tambahkan skrip Python berikut ke subfolder yang baru dibuat bernama "UnexpandTabsOnSave" dalam "$ SUBLIME_HOME $ \ Packages \":
Terima kasih atas sumber awalnya.
sumber
Anda dapat mengganti tab dengan spasi di semua file proyek dengan:
Ctrl+Shif+F
^\A(.*)$
Your dir
Ganti oleh
\1
Ini akan menyebabkan semua file proyek dibuka, dengan buffernya ditandai sebagai kotor. Dengan ini, Anda sekarang dapat secara opsional mengaktifkan pengaturan Sublime Text berikutnya, untuk memangkas semua file yang tertinggal di ruang putih dan memastikan baris baru di akhir setiap file.
Anda dapat mengaktifkan pengaturan ini dengan masuk ke menu
Preferences -> Settings
dan menambahkan konten ini ke file pengaturan Anda:"ensure_newline_at_eof_on_save": true,
"trim_trailing_white_space_on_save": true,
View -> Show Console (Ctrl+`)
dan jalankan perintah:import threading; threading.Thread( args=(set(),), target=lambda counterset: [ (view.run_command( "expand_tabs", {"set_translate_tabs": True} ), print( "Processing {:>5} view of {:>5}, view id {} {}".format( len( counterset ) + 1, len( window.views() ), view.id(), ( "Finished converting!" if len( counterset ) > len( window.views() ) - 2 else "" ) ) ), counterset.add( len( counterset ) ) ) for view in window.views() ] ).start()
File -> Save All
sumber
jika Anda memiliki Mac cukup gunakan opsi bantuan (biasanya opsi terakhir pada bilah menu Mac) lalu ketik: "tab indentation" dan pilih lebar lekukan tab
tetapi secara umum, Anda dapat mengikuti jalur ini: view -> indentation
sumber
Gunakan perintah berikut untuk menyelesaikannya:
sumber
Inilah cara Anda melakukannya secara otomatis di save: https://coderwall.com/p/zvyg7a/convert-tabs-to-spaces-on-file-save
Sayangnya paket tersebut tidak berfungsi ketika Anda menginstalnya dari Package Manager.
sumber