GitHub'da sekme boyutu nasıl değiştirilir?


275

GitHub'daki dosyaları görüntülediğimde, sekmeler 8 boşluk olarak görünür.

Misal:

misal

Bu yapılandırmayı 2 veya 4 boşluk olarak değiştirmek mümkün mü?



1
Bence @rofrol tarafından kabul edilen cevabını kullanma konusunda değiştirmelisiniz, .editorconfigbence cevabı hem yapılandırmayı diğer insanların görmeyi istediğiniz şekilde göreceği şekilde ayarlamak için hem de en iyi yöntemleri içeriyor ve okurken diğer kişilerin kodlarının nasıl göründüğünü değiştirme.
f1lt3r

@ f1lt3r Kabul etmiyorum. İnsanlar gerçekten kodumu 8 boşluk daha fazla güç ile görüntülemek isterse. Onları bu şekilde kısıtlamak istemiyorum, böylece kendim için github'da 4 boşlukla görüntüleyebiliyorum. Cevap değişecekse, mortenpi'nin cevabı olmalı
Assimilater

@Assimilater - rofrol'un yanıtı kimsenin istediği genişliği görüntülemesini kısıtlamaz. Baktığınız her dosya için param eklemek zorunda oldukça sinir bozucu olsa da mortenpi'nin cevabının iyi olduğunu kabul edin.
f1lt3r

3
8 mantığı varsayılan olarak kullanmanın arkasındaki mantığı herkes açıklayabilir mi? 8 alanın gülünç dışında bir şey göreceği bir senaryo hayal edemiyorum - yine de github'da varsayılan mı? Ne oluyor?
PandaWood

Yanıtlar:


24

Güncelleme

Evet . Mortenpi tarafından belirtildiği gibi, bu ek bir sorgu parametresi ile yapılabilir. Daha fazla ayrıntı için cevabına bakınız.

Orijinal cevap

Bu yapılandırmayı 2 veya 4 boşluk olarak değiştirmek mümkün mü?

Hayır. Yalnızca Ace editörü aracılığıyla düzenleme özelliğinin bir parçası olarak kullanılabilir ve değişiklik devam etmez.

Bu blog gönderisi katıştırılmış IDE hakkında biraz daha bilgi veriyor.

Bununla birlikte, incelemek istediğiniz blobun (dosyanın) URL'sini biliyorsanız, blob segmentini bir düzenleme segmentiyle değiştirerek kolayca düzenleme moduna geçebilir ve tercih ettiğiniz sekme boyutunu seçmek için açılır menüyü kullanabilirsiniz.

tabSize


20
Harika fikir, ama sorun bir kez EDIT moduna girdiğinizde, aynı zamanda söz konusu arşivi FORK. 50 ya da daha fazla salt görüntüleme düzenlemesinden sonra biraz fazla olabilir;)
tomByrer 7

2
Kabul. Ama bu katkıda bulunmaya başlamak için iyi bir teşvik olabilir ;)
nulltoken

13
@Chrisdembia'nın belirttiği gibi, bu artık doğru değil; github, değeri bir sorgu parametresi olarak ileterek sekme boyutunu değiştirmenize olanak tanır (örn. ?ts=4)
dule

Topluluğun seçilen cevabı geçersiz kılmasının bir yolu var mı?
chrisdembia

1
@chrisdembia Hatırlatmalar için teşekkürler;) Morenti'nin birine işaret etmek için cevap güncellendi.
nulltoken

354

Sekme boyutunu değiştirmek için ?ts=2veya ?ts=4URL'sini ekleyebilirsiniz .

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

Görünüşe göre bu değer 1'den 12'ye kadar herhangi bir şey olabilir. Gists veya raw dosya görünümlerinde çalışmaz.

Kaynak: GitHub Hile Sayfası


97
Bunun mümkün olması iyidir, ancak URL parametresini hatırlamak yerine sekme genişliğini seçmenin kolay bir yolu olsaydı iyi olurdu.
aross

75
Ayrıca github bunu bir tercih olarak kaydetmenize izin verirse iyi olur, böylece URL'ye geri koymaya devam etmenize gerek kalmaz.
SinirliWithFormsDesigner

3
@PhilDennis Chrome ile çalışır (Linux'ta).
mortenpi 06

1
@ NikolaMihajlović Biraz ince ama ts argümanının URL'deki # parçasından önce olması gerekiyor. Örn. Github.com/jquery/jquery/commit/…
mortenpi

2
güzel bir çözüm. maalesef PR'larda farklar üzerinde çalışmıyor.
bbjay

279

Deponuz için varsayılan görüntülenen sekme boyutunu ayarlama

Deponuzda bir .editorconfig dosyası varsa , GitHub'da kodu görüntülerken ona göre değişir .

indent_style = sekme ve indent_size = 4, 8 yerine 4 sütunlu sekmeleri gösterir https://github.com/isaacs/github/issues/170#issuecomment-150489692

JetBrains ürünlerinde çalışan birden çok uzantı için .editorconfig örneği :

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

Diğer depolardaki sekmeleri görme şeklinizi değiştirme

Yükleme Stylus yüklemek yerine, tarayıcınızda GitHub: iyi ölçekli sekmeleri kodunda .

Ayrıca Google Chrome uzantıları da vardır:


2
Github, adsız dosyalar (.gitconfig, vb.) İçin editorconfig dosyasına saygı göstermiyor gibi görünüyor. Herhangi bir fikir ya da bir hata mı? Örn. Github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy

7
dotfiles (github'da) ile saygı görmüyor gibi görünüyor [*]. İle başka bir giriş eklemek zorunda kaldım [.*].
PotatoFarmer

Bu şimdiye kadar kabul edilen cevap olmalı! Github'un editör yapılandırma kurallarına uyduğuna şaşırdım.
Maurício Giordano

1
Taahhütlerde saygı görmüyor :-(
Nikola Mihajlović

1
@rofrol Sanırım yanılmışım. Sekme boyutu kod ve farklarda doğru çalışır, ancak README.mdkod snippet'lerinde çalışmaz . Bu yeni bir gözlem; README.mdKod parçacıkları hiç 8 boşluk dışında sekme boyutları yaptı mı bilmiyorum .
Redsandro

68

Aslında bir tarayıcı uzantısı ile bunu yapmak mümkündür. Yükleme Şık (içinde Firefox veya Chrome ), bu kullanıcı stilini yükleyin: “ GitHub: kodunda iyi ölçekli sekmeleri ”.

Bazı dillerde çalışmayabilir. Örneğin, bir JavaScript dosyası görüntülüyordum ve herhangi bir değişiklik fark etmedim. Bu yüzden yazarın tarzını sildim ve içine aşağıdaki satırları koydum:

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

Ve Chrome ( ekran görüntüsü ) üzerinde çalıştı .

Ekran görüntüsünde de görebileceğiniz gibi, geniş ekran modunu da etkinleştirdim ve renk düzenini Solarized olarak değiştirdim. Bu yüzden GitHub sayfalarında Chrome için Şık uzantı üzerinden çalışan üç kullanıcı stilim var . Umarım bu birine yardımcı olur.


18
Bu kullanıcı stilini yazdım . Yararlı bulduğunuz için memnunum. Sabitledim ve Chrome'da test ettim ve şimdi değişiklik yapmadan çalışıyor.
Rory O'Kane

2
Ayrıca , tüm web sitelerindeki öğelerin sekme boyutunu değiştiren “ Tüm kodun sekme boyutu 4 ” olan kullanıcı stilimi beğenebilirsiniz <code>.
Rory O'Kane

1
Github her birini \t8 ile değiştirir &nbsp;. Merde.
Rudie

2
Evet Bunu daha önce yapmadılar ve neden şimdi yaptıkları hakkında hiçbir fikrim yok :( Sanırım bir çözüm, iki ya da her neyse ... 4 ardışık & nbsp yerine geçen bir senaryo yazan biri olabilir. "userscript" Sanırım.
aledujke

1
Bizim GitHub Koyu Şık userstyle sekme boyutunu ayarlamak için izin verir. Ve aktif olarak sürdürülüyor.
Mottie

0

UserScripts ile ilgileniyorsanız, bu benim için yaptı:

// ==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 });

Ben bu alternatif tercih ederdik ama bu az ya da çok rastgele çalışıyor gibi görünüyor: veri usercript çalıştırmadan önce yüklenmemişse (örneğin dosya listeleme sonra dosyayı açmak için tıklayın), çalışmıyor.
On

-3

Bunları düzeltmek için yaptım http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.html .

Başka bir seçenek, özgeçmişinizi gömmerken , tüm sekmeleri gereken sayıda boşlukla değiştirin

<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>

-6

Üzerinde çalıştığınız proje için bir seçenekse, düzenleyicinizi sekmeleri boşluk olarak kabul edecek şekilde değiştirmek sorunu çözecektir.

Örneğin, Visual Studio Code'da, yapılandırma şöyle görünür:

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

Yüce'de:

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

Yakın zamana kadar aralıksız sekmelerde ısrar ettim. Geçiş yaptıktan sonra, Github garipliğini düzeltti ve iş akışımda önemli bir dezavantaj fark etmedim.


-20

En iyi çözüm, mümkünse, tüm sekmeleri doğru sayıda boşlukla değiştirmek için baktığınız kaynak kodunu koruyanları ikna etmektir.

"Sekme başına kaç boşluk" kararının görüntülendiği yere bağlı olduğu web'de sık sık görüyorsanız, sekmeleri kullanmak bugün kodda sorunludur.


7
Bu doğru cevap ve indirilmeyi hak etmiyor. Orada "sekmeler yapılandırılabilir" için sekme genişliğini arzulu düşünme dışında bir şey olarak değiştirmenize izin vermeyen çok fazla yazılım var. Ve tercih ettiğiniz sekme genişliğinin katları olmayan bir mesafeyi girintilerseniz , artık sekmeler ve boşlukların bir karışımına sahipsiniz ve sekme boyutunu ayarlamak artık çalışmıyor.
Zwol

8
8 boşluklu sekmenin nereden geldiğiyle ilgili Wikipedia makalesini okuyun. “Beş karakterin yarım inç olmasına ve zamanın tipik paragraf girintisine rağmen, sekiz karakterlik ortak bir yatay sekme boyutu gelişti, çünkü ikisinin gücü olarak mevcut sınırlı dijital elektronikler için ikili olarak hesaplamak daha kolaydı.” Cevabınız, sorunun kapısını kapatmak için dairesel akıl yürütme kullanır (yani standart sekiz karakterdir, çünkü bu standarttır). Asker bu standarttan memnun değil ve bunun için çok az nedeni var.
Adam

4
@mrjedmao Öyle, yapabilirsin ?ts=4.
Ben

5
Sekmeyi boşluk yerine tercih ederim, çünkü imlecimi bir boşluk boyunca hareket ettirdiğimde düzenlememi 4 ila 8 kez hızlandırıyor.

4
"Geliştiriciye ödeme yapan kişi hariç, hmm?" Beyninizin IDE'si aşağıdaki cümleyi atlamak için adım adım özelliğini kullandı mı? Bir projenin zorunlu sözleşmelerinin bireysel tercihlere göre öncelikli olduğunu açıkça belirtmiştim. || "Tüm editörler kelime-kelime / alan / satır özelliği olduğunda bunu neden kendinize yapıyorsunuz?" Evet, kodda gezinmek için bir düzenleyicinin özelliğini kullanmanın, bir sütunun tamamını geçmek için tek bir tuşa basmaktan daha kolay olduğunu ima ediyorsunuz. Ayrıca, tüm editörlerin söz konusu özellikleri yoktur ve hatta bazıları farklı çalışır. Tüm dünyanın Sublime kullandığını düşünmeyi bırak.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.