Bagaimana cara mengubah ukuran tab di GitHub?

275

Saat saya melihat file di GitHub, tab muncul sebagai 8 spasi.

Contoh:

contoh

Apakah mungkin mengubah konfigurasi ini menjadi 2 atau 4 spasi?

Misha Moroshko
sumber
6
Anda juga dapat memeriksa jawaban yang disediakan dalam edisi GitHub # 170pre { tab-size: 4 }
KyleMit
1
Saya pikir Anda harus mengubah jawaban yang diterima ke yang oleh @rofrol tentang menggunakan .editorconfig, saya pikir jawabannya termasuk metode terbaik saat ini untuk kedua pengaturan konfigurasi dengan cara yang orang lain akan melihat kode seperti yang Anda inginkan untuk dilihat, dan mengubah bagaimana kode orang lain terlihat ketika Anda membacanya.
f1lt3r
@ f1lt3r saya tidak setuju. Jika orang benar-benar ingin melihat kode saya dengan 8 spasi lebih banyak kekuatan untuk mereka. Saya tidak ingin membatasi mereka seperti itu supaya saya bisa melihatnya dengan 4 spasi di github untuk saya sendiri. Jika jawabannya akan berubah, itu seharusnya jawaban mortenpi
Assimilater
@ Assimilater - jawaban rofrol tidak akan membatasi siapa pun untuk melihat lebar apa pun yang mereka inginkan. Setuju bahwa jawaban mortenpi baik meskipun cukup membuat frustrasi harus menambahkan param untuk setiap file yang Anda lihat.
f1lt3r
3
Adakah yang bisa menjelaskan logika di balik menggunakan 8 spasi sebagai default? Saya tidak dapat membayangkan skenario mana pun di mana 8 spasi akan terlihat selain konyol - namun apakah itu default pada github? Apa yang menyebabkannya?
PandaWood

Jawaban:

24

Memperbarui

Ya . Seperti yang dinyatakan oleh mortenpi, ini dapat dilakukan dengan melalui parameter kueri tambahan. Lihat jawabannya untuk lebih jelasnya.

Jawaban asli

Apakah mungkin mengubah konfigurasi ini menjadi 2 atau 4 spasi?

Tidak. Ini hanya tersedia sebagai bagian dari fitur pengeditan melalui editor Ace dan perubahannya tidak berlanjut.

Posting blog ini memberikan beberapa informasi lebih lanjut tentang IDE yang disematkan.

Namun, asalkan Anda tahu url gumpalan (file) yang Anda ingin tinjau, Anda dapat beralih ke mode edit dengan mudah dengan mengubah segmen gumpalan dengan segmen edit dan menggunakan dropdown untuk memilih ukuran tab yang Anda inginkan.

tabSize

nulltoken
sumber
20
Gagasan bagus, tetapi masalahnya adalah begitu Anda masuk ke mode EDIT, Anda juga FORK arsip tersebut. Mungkin sedikit berlebihan setelah 50 atau lebih hanya tampilan suntingan;)
tomByrer
2
Sepakat. Tapi itu mungkin insentif yang baik untuk mulai berkontribusi ;)
nulltoken
13
Seperti @chrisdembia sebutkan, ini tidak lagi benar; github memungkinkan Anda untuk mengubah ukuran tab dengan melewati nilai sebagai param query (misalnya, ?ts=4)
Dule
Apakah ada cara bagi komunitas untuk mengganti jawaban yang dipilih?
chrisdembia
1
@chrisdembia Terima kasih atas pengingatnya;) Memperbarui jawaban untuk menunjuk ke satu morenti.
nulltoken
354

Anda dapat menambahkan ?ts=2atau ?ts=4ke URL untuk mengubah ukuran tab.

Contoh: https://github.com/jquery/jquery/blob/master/src/core.js?ts=2

Tampaknya nilainya bisa apa saja mulai 1 hingga 12. Tidak berfungsi pada Gists atau tampilan file mentah.

Sumber: Lembar Curang GitHub

mortenpi
sumber
97
Ini bagus bahwa ini mungkin, tetapi alangkah baiknya jika ada cara mudah untuk memilih lebar tab daripada harus mengingat parameter URL.
aross
75
Akan lebih baik jika github membiarkan Anda menyimpannya sebagai preferensi sehingga Anda tidak perlu terus memasukkannya kembali ke URL.
FrustratedWithFormsDesigner
3
@ PhilDennis Bekerja untuk saya dengan Chrome (di Linux).
mortenpi
1
@ NikolaMihajlović Agak halus, tetapi argumen ts harus ada sebelum # fragmen dalam URL. Misalnya github.com/jquery/jquery/commit/…
mortenpi
2
solusi yang bagus. sayangnya tidak bekerja pada perbedaan dalam PR.
bbjay
279

Setel ukuran tab yang ditampilkan untuk repositori Anda

Ketika Anda memiliki .editorconfig di repositori Anda, ia akan menghormatinya ketika melihat kode di GitHub.

indent_style = tab dan indent_size = 4 menunjukkan tab dengan 4 kolom, bukan 8 https://github.com/isaacs/github/issues/170#issuecomment-150489692

Contoh .editorconfig untuk beberapa ekstensi yang berfungsi dalam produk JetBrains ':

root = true

[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
[*.{js,jsx,html,sass}]
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

Ubah cara Anda melihat tab di repositori lain

Instal Stylus di browser Anda, daripada instal GitHub: tab berukuran lebih baik dalam kode .

Ada juga ekstensi Google Chrome:

rofrol
sumber
2
Tampaknya github tidak menghormati file editorconfig untuk file tanpa nama (.gitconfig, dll). Adakah yang tahu mengapa ini bug? Ex github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy
7
dotfiles tampaknya tidak dihormati dengan [*](pada github). Saya harus menambahkan entri lain dengan [.*].
PotatoFarmer
Ini seharusnya jawaban yang diterima sejauh ini! Saya kagum bahwa Github benar-benar mengikuti aturan konfigurasi editor.
Maurício Giordano
1
Itu tidak dihormati dalam melakukan :-(
Nikola Mihajlović
1
@ profil saya pikir saya salah. Ukuran tab bekerja dengan benar dalam kode dan diff, tetapi tidak dalam README.mdcuplikan kode. Ini adalah pengamatan baru; Saya tidak tahu apakah README.mdcuplikan kode pernah melakukan ukuran tab selain 8 spasi.
Redsandro
68

Sebenarnya dimungkinkan untuk melakukannya, dengan ekstensi browser. Instal Stylish (di Firefox atau Chrome ), lalu instal gaya pengguna ini: " GitHub: tab berukuran lebih baik dalam kode ".

Mungkin tidak berfungsi untuk beberapa bahasa. Misalnya, saya melihat file JavaScript dan saya tidak melihat adanya perubahan. Jadi saya menghapus gaya yang penulis miliki dan memasukkan baris berikut ke dalamnya:

.tab-size {
  -webkit-tab-size: 4 !important;
     -moz-tab-size: 4 !important;
       -o-tab-size: 4 !important;
          tab-size: 4 !important;
}

Dan itu berhasil di Chrome ( tangkapan layar ).

Seperti yang dapat Anda lihat dari tangkapan layar, saya juga mengaktifkan mode layar lebar dan mengubah skema warna menjadi Terpolarisasi. Jadi saya memiliki tiga gaya pengguna yang berjalan di halaman GitHub melalui ekstensi Stylish untuk Chrome . Saya harap ini membantu seseorang.

aledujke
sumber
18
Saya menulis gaya pengguna itu . Saya senang Anda menemukannya berguna. Saya telah memperbaikinya dan mengujinya di Chrome, dan sekarang berfungsi tanpa modifikasi Anda.
Rory O'Kane
2
Anda mungkin juga menyukai gaya pengguna saya " Semua kode memiliki ukuran tab 4 ", yang mengubah ukuran <code>elemen tab di semua situs web.
Rory O'Kane
1
Github menggantikan setiap \tdengan 8 &nbsp;. Merde.
Rudie
2
Yap Mereka tidak melakukan itu sebelumnya dan saya tidak tahu mengapa mereka melakukannya sekarang :( Saya kira solusinya bisa seseorang menulis naskah yang menggantikan mengatakan ... 4 berturut-turut & nbsp; dengan dua atau apa pun. Tapi itu harus menjadi "userscript" Saya pikir.
aledujke
1
Kami GitHub Gelap Bergaya userstyle memungkinkan Anda untuk mengatur ukuran tab. Dan itu sedang dipelihara secara aktif.
Mottie
0

Jika Anda masuk ke dalam UserScripts, ini melakukannya untuk saya:

// ==UserScript==
// @name         GitHub Tabs
// @namespace    http://foldoc.org/
// @version      1
// @description  Set sensible tabs on GitHub
// @author       Denis Howe
// @match        https://github.com/*
// ==/UserScript==

document.querySelectorAll('table').forEach(t => { t.dataset.tabSize = 2 });
Denis Howe
sumber
Saya lebih suka alternatif ini tetapi ini tampaknya bekerja lebih atau kurang secara acak: jika data tidak dimuat sebelum skrip pengguna berjalan (misalnya daftar file lalu klik untuk membuka file), itu tidak berfungsi.
Sepuluh
-3

Saya melakukan itu untuk memperbaikinya http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.html .

Pilihan lain adalah saat menyematkan inti Anda , ganti semua tab dengan jumlah ruang yang diperlukan

<div id="willReplaceTabs">
 <script src="https://gist.github.com/valtih1978/99d8b320e59fcde634ad/cf1b512b79ca4182f619ed939755826c7f403c6f.js"></script>

 <script language="javascript">
  var spaces = "  "
  willReplaceTabs.innerHTML = willReplaceTabs.innerHTML.replace(/\t/g, spaces)
 </script>
</div>
Val
sumber
-6

Jika ini merupakan opsi untuk proyek yang sedang Anda kerjakan, ubah editor Anda untuk memperlakukan tab karena spasi akan menyelesaikan masalah.

Jadi, misalnya, dalam Visual Studio Code, konfigurasi terlihat seperti ini:

{
    "editor.tabSize": 2,
    "editor.insertSpaces": true
}

Dalam Sublime itu:

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true
}

Sampai baru-baru ini saya bersikeras tab non-spasi Setelah beralih, itu memperbaiki keanehan rendering Github, dan saya belum melihat adanya kerugian signifikan dalam alur kerja saya.

Bryce Johnson
sumber
-20

Solusi terbaik adalah, jika mungkin, untuk meyakinkan pengelola kode sumber yang Anda cari untuk mengganti semua tab dengan jumlah spasi yang benar.

Menggunakan tab adalah masalah dalam kode hari ini mengingat Anda sering melihatnya di web, di mana keputusan "berapa banyak ruang per tab" bergantung pada di mana ia ditampilkan.

Tom Swirly
sumber
7
Ini adalah jawaban yang benar dan tidak pantas untuk diturunkan. Ada terlalu banyak perangkat lunak di luar sana yang tidak memungkinkan Anda mengubah lebar tab untuk "tab dapat dikonfigurasi" menjadi apa pun selain angan-angan. Dan jika Anda pernah membuat jarak yang bukan kelipatan dari lebar tab pilihan Anda, Anda sekarang memiliki campuran tab dan spasi dan menyesuaikan ukuran tab bahkan tidak berfungsi lagi.
zwol
8
Baca artikel Wikipedia tentang dari mana tab 8-ruang berasal. "Ukuran tab horisontal umum delapan karakter berevolusi, meskipun lima karakter menjadi setengah inci dan lekukan paragraf khas waktu itu, karena sebagai kekuatan dua karakter, lebih mudah untuk menghitung dalam biner untuk elektronik digital terbatas yang tersedia." Jawaban Anda menggunakan penalaran melingkar (yaitu standar adalah delapan karakter karena itulah standar) untuk menutup pintu pada pertanyaan. Penanya tidak puas dengan standar ini dan memiliki sedikit alasan untuk itu.
Adam
4
@ mrjedmao Tidak, Anda bisa melakukannya ?ts=4.
Ben
5
Saya lebih suka tab daripada spasi, karena mempercepat pengeditan saya antara 4 dan 8 kali ketika saya memindahkan kursor saya di spasi.
4
"Kecuali orang yang membayar pengembang, hmm?" Apakah IDE otak Anda menggunakan fitur langkah demi langkah untuk melewati kalimat berikut? Saya secara eksplisit menyatakan bahwa konvensi yang dipaksakan suatu proyek lebih diutamakan daripada preferensi individu. || "Mengapa Anda melakukan itu pada diri Anda sendiri, ketika semua editor memiliki fitur langkah demi kata / bidang / baris?" Ya, Anda menyiratkan bahwa lebih mudah untuk menggunakan fitur editor untuk menavigasi kode daripada hanya menekan satu tombol untuk melintasi seluruh kolom. Selain itu, tidak semua editor mengatakan fitur, dan beberapa bahkan bekerja secara berbeda. Berhentilah berpikir bahwa seluruh dunia menggunakan Sublime.