Wie ändere ich die Tab-Größe auf GitHub?

275

Wenn ich Dateien auf GitHub ansehe, werden Registerkarten als 8 Leerzeichen angezeigt.

Beispiel:

Beispiel

Ist es möglich, diese Konfiguration auf 2 oder 4 Leerzeichen zu ändern?

Mischa Moroshko
quelle
6
Sie können auch die Antworten in der GitHub-Ausgabe Nr. 170pre { tab-size: 4 }
KyleMit vom
1
Ich denke, Sie sollten die akzeptierte Antwort in die von @rofrol über die Verwendung von ändern .editorconfig. Ich denke, seine Antwort enthält die derzeit besten Methoden, um die Konfiguration so einzustellen , dass andere den Code so sehen, wie Sie ihn sehen wollten, und Ändern des Aussehens des Codes anderer Personen beim Lesen.
f1lt3r
@ f1lt3r Ich bin anderer Meinung. Wenn Leute meinen Code wirklich mit 8 Leerzeichen mehr sehen wollen, haben sie mehr Macht. Ich möchte sie nicht auf diese Weise einschränken, nur damit ich sie mit 4 Leerzeichen auf Github für mich selbst anzeigen kann. Wenn sich die Antwort ändern wird, sollte es Mortenpis Antwort sein
Assimilater
@Assimilater - Die Antwort von rofrol würde niemanden daran hindern, die gewünschte Breite anzuzeigen. Stimmen Sie zu, dass die Antwort von mortenpi gut, aber ziemlich frustrierend ist, wenn Sie den Parameter für jede Datei hinzufügen müssen, die Sie sich ansehen.
f1lt3r
3
Kann jemand die Logik erklären, die dahinter steckt, wenn standardmäßig 8 Leerzeichen verwendet werden? Ich kann mir kein Szenario vorstellen, in dem 8 Leerzeichen anders als lächerlich aussehen würden - aber es ist die Standardeinstellung für Github? Was gibt?
PandaWood

Antworten:

24

Aktualisieren

Ja . Wie von mortenpi angegeben, kann dies über einen zusätzlichen Abfrageparameter erfolgen. Siehe seine Antwort für weitere Details.

Ursprüngliche Antwort

Ist es möglich, diese Konfiguration auf 2 oder 4 Leerzeichen zu ändern?

Nein. Es ist nur als Teil der Bearbeitungsfunktion über das verfügbar Ace- Editor und die Änderung wird nicht beibehalten.

Diese Blog-Beitrag enthält weitere Informationen zur eingebetteten IDE.

Vorausgesetzt, Sie kennen die URL des Blobs (der Datei), die Sie überprüfen möchten , können Sie einfach in den Bearbeitungsmodus wechseln, indem Sie das Blob- Segment durch ein Bearbeitungssegment ändern und mithilfe der Dropdown-Liste Ihre bevorzugte Registerkartengröße auswählen.

tabSize

nulltoken
quelle
20
Tolle Idee, aber das Problem ist, dass Sie, sobald Sie in den Bearbeitungsmodus wechseln, auch das besagte Archiv GABELN.
Könnte nach ungefähr
2
Einverstanden. Aber das könnte ein guter Anreiz sein, einen Beitrag zu leisten ;)
nulltoken
13
Wie @chrisdembia erwähnte, ist dies nicht mehr korrekt; Mit Github können Sie die Größe der Registerkarten ändern, indem Sie den Wert als Abfrageparameter (z. B. ?ts=4) übergeben
dule
Gibt es eine Möglichkeit für die Community, die ausgewählte Antwort zu überschreiben?
Chrisdembia
1
@chrisdembia Danke für die Erinnerungen;) Die Antwort wurde aktualisiert, um auf Morentis zu verweisen.
nulltoken
354

Sie können ?ts=2oder ?ts=4an die URL anhängen , um die Tab-Größe zu ändern.

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

Es scheint, dass der Wert zwischen 1 und 12 liegen kann. Er funktioniert jedoch nicht in Gists oder Rohdateiansichten.

Quelle: GitHub Spickzettel

mortenpi
quelle
97
Es ist gut, dass dies möglich ist, aber es wäre schön, wenn es eine einfache Möglichkeit gäbe, die Tabulatorbreite zu wählen, anstatt sich den URL-Parameter merken zu müssen.
Über
75
Es wäre auch schön, wenn Sie Github dies als Präferenz speichern lassen würden, damit Sie es nicht immer wieder in die URL einfügen müssen.
FrustratedWithFormsDesigner
3
@PhilDennis Funktioniert für mich mit Chrome (unter Linux).
Mortenpi
1
@ NikolaMihajlović Es ist ein bisschen subtil, aber das ts-Argument muss vor dem # -Fragment in der URL stehen. ZB github.com/jquery/jquery/commit/…
mortenpi
2
schöne Lösung. funktioniert leider nicht bei Unterschieden in PRs.
Bbjay
279

Legen Sie die standardmäßig angezeigte Registerkartengröße für Ihr Repository fest

Wenn Sie eine .editorconfig in Ihrem Repository haben, wird diese beim Anzeigen von Code auf GitHub berücksichtigt .

indent_style = tab und indent_size = 4 zeigen Registerkarten mit 4 Spalten anstelle von 8 https://github.com/isaacs/github/issues/170#issuecomment-150489692

Beispiel .editorconfig für mehrere Erweiterungen, die in JetBrains-Produkten funktionieren:

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

Ändern Sie, wie Registerkarten in anderen Repositorys angezeigt werden

Installieren Sie Stylus in Ihrem Browser, als GitHub: Registerkarten mit besserer Größe im Code .

Es gibt auch Google Chrome-Erweiterungen:

Rofrol
quelle
2
Es scheint, dass github die editorconfig-Datei für Dateien ohne Namen (.gitconfig usw.) nicht berücksichtigt. Irgendeine Idee warum oder ist es ein Fehler? Ex github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy
7
dotfiles scheinen mit dem [*](auf github) nicht respektiert zu werden . Ich musste einen weiteren Eintrag mit hinzufügen [.*].
PotatoFarmer
Dies sollte bei weitem die akzeptierte Antwort sein! Ich bin erstaunt, dass Github tatsächlich die Konfigurationsregeln des Editors befolgt.
Maurício Giordano
1
Es wird nicht in Commits respektiert :-(
Nikola Mihajlović
1
@rofrol Ich glaube, ich habe mich geirrt. Die Tabulatorgröße funktioniert korrekt in Code und Diffs, jedoch nicht in README.mdCodefragmenten. Dies ist eine neue Beobachtung; Ich weiß nicht, ob README.mdCode-Snippets jemals andere Tab-Größen als 8 Leerzeichen verwendet haben.
Redsandro
68

Es ist tatsächlich möglich, dies mit einer Browser-Erweiterung zu tun. Installieren Sie Stylish (in Firefox oder Chrome ) und anschließend den folgenden Benutzerstil: „ GitHub: Registerkarten mit besserer Größe im Code ".

In einigen Sprachen funktioniert dies möglicherweise nicht. Ich habe beispielsweise eine JavaScript-Datei angezeigt und keine Änderungen festgestellt. Also habe ich den Stil des Autors gelöscht und die folgenden Zeilen eingefügt:

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

Und es hat auf Chrome funktioniert ( Screenshot ).

Wie Sie auf dem Screenshot sehen können, habe ich auch den Breitbildmodus aktiviert und das Farbschema in Solarized geändert. Ich habe also drei Benutzerstile, die auf GitHub-Seiten über die Stylish-Erweiterung für Chrome ausgeführt werden . Ich hoffe das hilft jemandem.

aledujke
quelle
18
Ich habe diesen Benutzerstil geschrieben . Ich bin froh, dass Sie es nützlich fanden. Ich habe es behoben und in Chrome getestet und es funktioniert jetzt ohne Ihre Änderung.
Rory O'Kane
2
Vielleicht gefällt Ihnen auch mein Benutzerstil "Der gesamte Code hat die Tabulatorgröße 4 ", mit dem die Tabulatorgröße der <code>Elemente auf allen Websites geändert wird .
Rory O'Kane
1
Github ersetzt jeden \tdurch 8 &nbsp;. Merde.
Rudie
2
Ja, das haben sie vorher nicht getan, und ich habe keine Ahnung, warum sie das jetzt tun :( Ich denke, eine Lösung kann jemand sein, der ein Skript schreibt, das say ... 4 aufeinanderfolgende durch zwei oder was auch immer ersetzt. Aber das muss a sein "userscript" denke ich.
aledujke
1
Mit unserem GitHub Dark Stylish-Userstyle können Sie die Tab-Größe einstellen. Und es wird aktiv gepflegt.
Mottie
0

Wenn Sie sich für UserScripts interessieren, hat dies für mich getan:

// ==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
quelle
Ich hätte diese Alternative vorgezogen, aber dies scheint mehr oder weniger zufällig zu funktionieren: Wenn die Daten nicht geladen wurden, bevor das Userscript ausgeführt wurde (z. B. Dateiliste, dann klicken, um die Datei zu öffnen), funktioniert es nicht.
Zehn
-3

Ich habe das getan, um sie zu reparieren http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.html .

Eine andere Option ist, beim Einbetten Ihres Kerns alle Registerkarten durch die erforderliche Anzahl von Leerzeichen zu ersetzen

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

Wenn dies eine Option für das Projekt ist, an dem Sie arbeiten, wird das Problem behoben, indem Sie Ihren Editor so ändern, dass Tabulatoren als Leerzeichen behandelt werden.

In Visual Studio Code sieht die Konfiguration beispielsweise folgendermaßen aus:

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

In Sublime ist es:

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

Bis vor kurzem bestand ich auf nicht beabstandeten Tabs. Nach dem Umschalten wurde die Github-Rendering-Verrücktheit behoben, und ich habe keine wesentlichen Nachteile in meinem Workflow festgestellt.

Bryce Johnson
quelle
-20

Die beste Lösung besteht nach Möglichkeit darin, die Betreuer von dem Quellcode zu überzeugen, den Sie suchen, um alle Registerkarten durch die richtige Anzahl von Leerzeichen zu ersetzen.

Die Verwendung von Registerkarten ist heutzutage im Code problematisch, da sie häufig im Web angezeigt werden. Die Entscheidung, wie viele Leerzeichen pro Registerkarte vorhanden sind, hängt davon ab, wo sie angezeigt werden.

Tom Swirly
quelle
7
Dies ist die richtige Antwort und verdient es nicht, herabgestimmt zu werden. Es gibt viel zu viel Software, mit der Sie die Registerkartenbreite für "Registerkarten sind konfigurierbar" nicht ändern können, um etwas anderes als Wunschdenken zu sein. Und wenn Sie jemals einen Abstand einrücken, der nicht ein Vielfaches Ihrer bevorzugten Tabulatorbreite ist, haben Sie jetzt eine Mischung aus Tabulatoren und Leerzeichen, und das Anpassen der Tabulatorgröße funktioniert nicht einmal mehr.
zwol
8
Lesen Sie den Wikipedia-Artikel darüber, woher die Registerkarte mit 8 Leerzeichen stammt. "Es entwickelte sich eine gemeinsame horizontale Tabulatorgröße von acht Zeichen, obwohl fünf Zeichen einen halben Zoll und die typische Absatzeinrückung der Zeit waren, da es als Zweierpotenz einfacher war, für die begrenzte verfügbare digitale Elektronik binär zu berechnen." Ihre Antwort verwendet Zirkelschluss (dh der Standard besteht aus acht Zeichen, da dies der Standard ist), um die Tür für die Frage zu schließen. Der Fragesteller ist mit diesem Standard nicht zufrieden und hat wenig Grund dazu.
Adam
4
@mrjedmao Das tut es, du kannst es tun ?ts=4.
Ben
5
Ich bevorzuge Tabulatoren gegenüber Leerzeichen, da dies meine Bearbeitung zwischen 4 und 8 Mal beschleunigt, wenn ich den Cursor über ein Leerzeichen bewege.
4
"Außer der Person, die den Entwickler bezahlt, hmm?" Hat die IDE Ihres Gehirns die Funktion zum Verschieben nach Zeilen verwendet, um den folgenden Satz zu überspringen? Ich habe ausdrücklich erklärt, dass die erzwungenen Konventionen eines Projekts Vorrang vor individuellen Präferenzen haben. || "Warum tust du dir das an, wenn alle Editoren eine Funktion zum Verschieben nach Wort / Feld / Zeile haben?" Ja, Sie implizieren, dass es einfacher ist, die Funktion eines Editors zum Navigieren im Code zu verwenden, als einfach eine Taste zu drücken, um eine ganze Spalte zu durchlaufen. Darüber hinaus haben nicht alle Editoren diese Funktionen angegeben, und einige funktionieren sogar anders. Hör auf zu denken, die ganze Welt benutzt Sublime.