Konversikan spasi menjadi tab

138

Saya menulis TypeScriptdan HTMLfile, dan tab akan dikonversi ke spasi.

Dalam TypeScriptproyek saya , setiap tab dikonversi menjadi spasi, saya ingin mematikannya, dan memiliki tab alih-alih spasi.

Ini adalah pengaturan saya:

{
  "editor.insertSpaces": false
}

EDIT 1:

Tampaknya berfungsi dalam .htmlfile, tetapi tidak dalam .tsfile.

Matan Yedayev
sumber

Jawaban:

247

Ada 3 opsi di .vscode/settings.json:

// The number of spaces a tab is equal to.
"editor.tabSize": 4,

// Insert spaces when pressing Tab.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": true

editor.detectIndentationmendeteksi itu dari file Anda, Anda harus menonaktifkannya. Jika tidak membantu, periksa apakah Anda tidak memiliki pengaturan dengan prioritas lebih tinggi. Misalnya ketika Anda menyimpannya ke pengaturan Pengguna itu bisa ditimpa oleh pengaturan Workspace yang ada di folder proyek Anda.

Memperbarui:

Anda bisa membuka File » Preferensi » Pengaturan atau gunakan pintasan:

CTRL+ , (Windows, Linux)

+ , (Mac)

Memperbarui:

Sekarang Anda memiliki alternatif untuk mengedit opsi-opsi itu secara manual.
Klik pada selector Spaces: 4 di kanan bawah editor:
Ln44, Kol.  [Spasi: 4].  UTF-8 dengan BOM.  CTRLF.  HTML.  :)

Saat Anda ingin mengonversi tab yang ada ke tab, instal ekstensi dari Marketplace
EDIT:
Untuk mengonversi lekukan yang ada dari spasi ke tab tekan Ctrl+ Shift+P dan ketik:

>Convert indentation to Tabs

Ini akan mengubah lekukan untuk dokumen Anda berdasarkan pengaturan yang ditentukan untuk Tab.

v-andrew
sumber
1
@Viragos settings.json
v-andrew
1
Bagaimana cara menjalankan perintah ini untuk semua file di ruang kerja saya.
Vijender Kumar
134

Untuk mengubah pengaturan tab, klik area teks ke kanan ke teks Ln / Col di bilah status di kanan bawah jendela vscode.

Nama bisa Tab Sizeatau Spaces.

Menu akan muncul dengan semua tindakan dan pengaturan yang tersedia.

masukkan deskripsi gambar di sini

Eric Bole-Feysot
sumber
3
Bagi saya, ini hanya mengubah pengaturan ini untuk file tertentu yang sedang saya lihat. File-file lain dalam proyek menyimpan pengaturan lama mereka. Bagaimana Anda mengaturnya secara universal?
Kyle Vassella
Saya biasanya mengganti semua file saya sekaligus, jika perlu, dengan melakukan pencarian proyek untuk regex sederhana `{4}` dan ganti dengan \ t (untuk tab). Biasanya juga melirik pertandingan untuk memastikan tidak ada yang akan pecah seperti string multi-line literal, dll. Jelas menerapkan pengaturan ini sehingga lekukan baru Anda adalah karakter yang diinginkan, juga!
cossackman
25

Ctrl+ Shift+ P, lalu "Konversikan Indentasi ke Tab"

carlsborg
sumber
13

Jika Anda ingin menggunakan tab alih-alih spasi

Coba ini:

  1. Buka FilePreferencesSettingsatau cukup tekan Ctrl + ,
  2. Di bilah pengaturan Pencarian di sisipan ataseditor.insertSpaces
  3. Anda akan melihat sesuatu seperti ini: Editor: Masukkan Spaces dan itu mungkin akan diperiksa. Hapus centang itu seperti yang ditunjukkan pada gambar di bawah

Editor: Sisipkan Spaces

  1. Muat Ulang Kode Visual Studio (Tekan F1➤ jenis reload window➤ tekan Enter)

Jika tidak berhasil coba ini:

Itu mungkin karena plugin yang diinstal JS-CSS-HTML Formatter

(Anda dapat memeriksanya dengan membuka FilePreferencesExtensionsatau hanya menekan Ctrl + Shift + X , dalam daftar Diaktifkan Anda akan menemukan JS-CSS-HTML Formatter )

Jika demikian, Anda dapat memodifikasi plugin ini:

  1. Tekan F1➤ ketik Formatter config➤ tekan Enter(ini akan membuka file formatter.json)
  2. Ubah file seperti ini:
 4|    "indent_size": 1,
 5|    "indent_char": "\t"
——|
24|    "indent_size": 1,
25|    "indentCharacter": "\t",
26|    "indent_char": "\t",
——|
34|    "indent_size": 1,
35|    "indent_char": "\t",
36|    "indent_character": "\t"
  1. Simpan (Pergi ke FileSaveatau cukup tekan Ctrl + S )
  2. Muat Ulang Kode Visual Studio (Tekan F1➤ jenis reload window➤ tekan Enter)
Alex Logvin
sumber
Jika Anda ingin spasi, bukan tab, memodifikasi formatter.jsonberkas: menempatkan satu ruang di setiap tanda kutip bukan \t(Jadi "\t"menjadi " "), dan menempatkan 4 di mana Anda melihat 1 . Jadi Anda datang mungkin seperti ini "indent_size": 4, "indent_char": " " "indent_size": 4, "indentCharacter": " ", "indent_char": " ", "indent_size": 4, "indent_char": " ", "indent_character": " "
Alex Logvin
1
Langkah RELOAD WINDOW adalah apa yang saya lewatkan. Frustasi telah pergi proses memeriksa kotak dan mengutak-atik pengaturan 3 kali untuk tidak ada perubahan untuk mengambil, ketika semua yang harus saya lakukan adalah memuat ulang jendela. Terima kasih atas tipnya!
Rin dan Len
8

Dalam kasus saya, masalahnya adalah ekstensi Formatter JS-CSS-HTML diinstal setelah pembaruan Januari. indent_charProperti default adalah ruang. Saya mencopotnya dan perilaku aneh itu berhenti.

Vinicios Torres
sumber
Oh ya, ini adalah masalah sebenarnya bagi saya. menghabiskan banyak waktu bermain-main pengaturan dalam kode VS. akhirnya menonaktifkan ekstensi ini menyelesaikan masalah.
Avijeet
8

Periksa ini dari pengaturan vscode resmi:

// Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents.
"editor.detectIndentation": true,

// The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
"editor.tabSize": 4,

// Config the editor that making the "space" instead of "tab"
"editor.insertSpaces": true,

// Configure editor settings to be overridden for [html] language.
"[html]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 2,
    "editor.autoIndent": false
}
Xin
sumber
7

Pengaturan di bawah ini berfungsi dengan baik untuk saya,

"editor.insertSpaces": false,
"editor.formatOnSave": true, // only if you want auto fomattting on saving the file
"editor.detectIndentation": false

Pengaturan di atas akan mencerminkan dan diterapkan ke setiap file. Anda tidak perlu membuat indentasi / memformat setiap file secara manual.

Rohan Kumar
sumber
3

File -> Preferensi -> Pengaturan atau cukup tekan Ctrl+ ,dan cari spasi , kemudian matikan saja opsi ini:

masukkan deskripsi gambar di sini

Saya harus membuka kembali file sehingga perubahan akan berlaku.

lama12345
sumber
1
  1. Sorot Kode Anda (dalam file)
  2. Klik Ukuran Tab di sudut kanan bawah jendela aplikasi Ukuran Tab di sudut kanan bawah gambar jendela aplikasi
  3. Pilih Indentasi Konversi yang sesuai ke Tab Pilih gambar Indentasi Konversi ke Tab yang sesuai
RealScatman
sumber
1

Jika Anda ingin mengubah tab menjadi spasi di banyak file, tetapi tidak ingin membukanya secara terpisah, saya telah menemukan bahwa itu berfungsi sama baiknya dengan hanya menggunakan opsi Temukan dan Ganti dari bilah alat paling kiri.

Di kotak pertama ( Find), salin dan tempel tab dari kode sumber.

Di kotak kedua ( Replace), masukkan jumlah spasi yang ingin Anda gunakan (yaitu 2 atau 4).

Jika Anda menekan ...tombol, Anda dapat menentukan direktori untuk dimasukkan atau diabaikan (yaitu src/Data/Json).

Akhirnya, periksa pratinjau hasil dan tekan Ganti Semua . Semua file di ruang kerja mungkin terpengaruh.

kvanberendonck
sumber
0
{
  "editor.insertSpaces": true
}

True bekerja untukku.

ilovethedrama
sumber