Come modificare le dimensioni della scheda su GitHub?


275

Quando visualizzo i file su GitHub, le schede vengono visualizzate come 8 spazi.

Esempio:

esempio

È possibile cambiare questa configurazione in 2 o 4 spazi?


6
Puoi anche controllare le risposte fornite nel numero 170 dipre { tab-size: 4 }
KyleMit,

1
Penso che dovresti cambiare la risposta accettata a quella di @rofrol sull'uso di .editorconfig, penso che la sua risposta includa i migliori metodi attuali sia per impostare la configurazione in modo che altre persone vedano il codice come intendi che sia visto, sia alterando l'aspetto del codice di altre persone quando lo leggi.
f1lt3r,

@ f1lt3r Non sono d'accordo. Se la gente vuole davvero vedere il mio codice con 8 spazi in più di energia. Non voglio limitarli in questo modo solo per poterlo visualizzare con 4 spazi su Github per me stesso. Se la risposta cambierà, dovrebbe essere la risposta di mortenpi
Assimilater,

@Assimilater - la risposta di rofrol non impedirebbe a nessuno di vedere la larghezza che vogliono. Concordo sul fatto che la risposta di Mortenpi sia buona, sebbene frustrante dover aggiungere il parametro per ogni file che si guarda.
f1lt3r,

3
Qualcuno può spiegare la logica dietro l'utilizzo di 8 spazi come predefinito? Non riesco a immaginare uno scenario in cui 8 spazi sembrerebbero altro che ridicoli - eppure è l'impostazione predefinita su Github? Cosa dà?
PandaWood,

Risposte:


24

Aggiornare

. Come affermato da mortenpi, questo può essere fatto tramite un parametro di query aggiuntivo. Vedi la sua risposta per maggiori dettagli.

Risposta originale

È possibile cambiare questa configurazione in 2 o 4 spazi?

No. È disponibile solo come parte della funzione di modifica tramite l' editor Ace e la modifica non viene mantenuta.

Questo post sul blog fornisce ulteriori informazioni sull'IDE incorporato.

Tuttavia, a patto di conoscere l'URL del BLOB (file) che si desidera rivedere, è possibile passare facilmente alla modalità di modifica cambiando il segmento BLOB con un segmento di modifica e utilizzare l'elenco a discesa per selezionare la dimensione della scheda preferita.

tabsize


20
Ottima idea, ma il problema è che una volta che vai in modalità EDIT, FORK anche il suddetto archivio. Potrebbe diventare un po 'eccessivo dopo circa 50 modifiche di sola visualizzazione;)
tomByrer

2
Concordato. Ma questo potrebbe essere un buon incentivo per iniziare a contribuire ;)
nulltoken l'

13
Come menzionato @chrisdembia, questo non è più corretto; github ti permette di cambiare la dimensione della scheda passando il valore come parametro di query (es. ?ts=4)
dule

C'è un modo per la comunità di ignorare la risposta selezionata?
Chrisdembia,

1
@chrisdembia Grazie per i promemoria;) Aggiornata la risposta per indicare quella di morenti.
nulltoken

354

Puoi aggiungere ?ts=2o?ts=4 all'URL per modificare le dimensioni della scheda.

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

Sembra che il valore possa essere compreso tra 1 e 12. Tuttavia, non funziona su Gists o visualizzazioni di file non elaborati.

Fonte: chit sheet GitHub


97
È positivo che ciò sia possibile, ma sarebbe bello se ci fosse un modo semplice per scegliere la larghezza della scheda piuttosto che dover ricordare il parametro URL.
aross

75
Sarebbe anche bello se Github ti consentisse di salvarlo come preferenza in modo da non doverlo reinserire nell'URL.
FrustratedWithFormsDesigner

3
@PhilDennis Funziona per me con Chrome (su Linux).
mortenpi,

1
@ NikolaMihajlović È un po 'sottile, ma l'argomento ts deve essere prima del frammento # nell'URL. Ad esempio github.com/jquery/jquery/commit/…
mortenpi,

2
bella soluzione. purtroppo non funziona su differenze in PR.
bbjay

279

Imposta la dimensione della scheda visualizzata predefinita per il tuo repository

Quando hai un .editorconfig nel tuo repository lo rispetterà quando visualizzi il codice su GitHub.

indent_style = tab e indent_size = 4 mostra le schede con 4 colonne anziché 8 https://github.com/isaacs/github/issues/170#issuecomment-150489692

Esempio .editorconfig per più estensioni che funziona nei prodotti 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

Modifica la modalità di visualizzazione delle schede su altri repository

Installa Stylus nel tuo browser, quindi installa GitHub: schede di dimensioni migliori nel codice .

Esistono anche estensioni di Google Chrome:


2
Sembra che github non rispetti il ​​file editorconfig per i file senza nome (.gitconfig, ecc.). Qualche idea sul perché o è un bug? Ex github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy

7
i dotfile non sembrano essere rispettati con [*](su github). Ho dovuto aggiungere un'altra voce con [.*].
PotatoFarmer,

Questa dovrebbe essere la risposta accettata di gran lunga! Sono sorpreso che Github segua effettivamente le regole di configurazione dell'editor.
Maurício Giordano,

1
Non è rispettato nei commit :-(
Nikola Mihajlović,

1
@rofrol Penso di essermi sbagliato. La dimensione della scheda funziona correttamente nel codice e nelle differenze, ma non negli README.mdsnippet di codice. Questa è una nuova osservazione; Non so se i README.mdframmenti di codice abbiano mai avuto dimensioni di scheda diverse da 8 spazi.
Redsandro,

68

In realtà è possibile farlo, con un'estensione del browser. Installa Stylish (in Firefox o Chrome ), quindi installa questo stile utente: “ GitHub: schede di dimensioni migliori nel codice ".

Potrebbe non funzionare in alcune lingue. Ad esempio, stavo visualizzando un file JavaScript e non ho notato alcuna modifica. Quindi ho eliminato lo stile dell'autore e ho inserito le seguenti righe:

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

E ha funzionato su Chrome ( screenshot ).

Come puoi vedere dallo screenshot, ho anche abilitato la modalità widescreen e ho cambiato la combinazione di colori in Solarized. Quindi ho tre stili utente in esecuzione su pagine GitHub tramite l' estensione Stylish per Chrome . Spero che questo aiuti qualcuno.


18
Ho scritto quello stile utente . Sono contento che l'abbia trovato utile. L'ho risolto e testato in Chrome, e ora funziona senza modifiche.
Rory O'Kane,

2
Potrebbe piacerti anche il mio stile utente " Tutto il codice ha una dimensione di scheda 4 ", che modifica la dimensione della scheda degli <code>elementi su tutti i siti Web.
Rory O'Kane,

1
Github sostituisce ogni \tcon 8 &nbsp;. Merde.
Rudie,

2
Sì, non l'hanno mai fatto prima e non ho idea del perché lo facciano ora :( Immagino che una soluzione possa essere qualcuno che scrive uno script che sostituisce diciamo ... 4 consecutivi & nbsp; con due o altro. Ma quello deve essere un "userscript" credo.
aledujke,

1
Il nostro stile utenti GitHub Dark Stylish ti consente di impostare le dimensioni della scheda. E viene attivamente mantenuto.
Mottie,

0

Se ti piacciono gli UserScripts, questo è stato per me:

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

Avrei preferito questa alternativa ma questo sembra funzionare più o meno in modo casuale: se i dati non sono stati caricati prima che venga eseguito lo script utente (ad esempio, l'elenco dei file, quindi fare clic per aprire il file), non funziona.
Dieci

-3

L'ho fatto per averli riparati http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.html .

Un'altra opzione è quando si incorpora l'essenza , sostituire tutte le schede con il numero richiesto di spazi

<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

Se è un'opzione per il progetto a cui stai lavorando, la modifica del tuo editor per trattare le schede come spazi risolverà il problema.

Ad esempio, in Visual Studio Code, la configurazione è simile alla seguente:

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

In Sublime è:

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

Fino a poco tempo fa ho insistito su schede non spaziate. Dopo il passaggio, ha risolto la stranezza del rendering di Github e non ho notato alcun aspetto negativo significativo nel mio flusso di lavoro.


-20

La migliore soluzione è, se possibile, convincere i manutentori del codice sorgente che stai guardando a sostituire tutte le schede con il numero corretto di spazi.

L'uso delle schede è problematico nel codice oggi dato che spesso lo vedi sul Web, dove la decisione di "quanti spazi per scheda" dipende da dove viene visualizzata.


7
Questa è la risposta corretta e non merita il downgrade. Esistono troppi software là fuori che non ti consentono di modificare la larghezza delle schede per "le schede sono configurabili" per essere qualcosa di diverso da un pio desiderio. E se indentrai mai qualcosa a una distanza che non è un multiplo della larghezza della tua scheda preferita, ora hai una combinazione di schede e spazi e la regolazione delle dimensioni della scheda non funziona più.
zwol,

8
Leggi l'articolo di Wikipedia su da dove proviene la scheda 8 spazi. "Si è evoluta una dimensione orizzontale comune di otto caratteri, nonostante cinque caratteri fossero mezzo pollice e la tipica rientranza del paragrafo del tempo, perché come potenza di due era più facile calcolare in binario per l'elettronica digitale limitata disponibile." La tua risposta usa un ragionamento circolare (cioè lo standard è di otto caratteri perché quello è lo standard) per chiudere la porta alla domanda. Il richiedente non è soddisfatto di questo standard e ha poche ragioni per esserlo.
Adam,

4
@mrjedmao Sì, puoi farlo ?ts=4.
Ben

5
Preferisco la tabulazione rispetto allo spazio, perché accelera la modifica tra 4 e 8 volte quando sposto il cursore su uno spazio bianco.

4
"Tranne la persona che sta pagando lo sviluppatore, hmm?" L'IDE del tuo cervello ha usato la sua funzione di spostamento per riga per saltare la seguente frase? Ho dichiarato esplicitamente che le convenzioni applicate di un progetto hanno la precedenza sulle preferenze individuali. || "Perché lo fai da solo, quando tutti gli editor hanno una funzione di spostamento per parola / campo / linea?" Sì, stai insinuando che è più semplice utilizzare la funzione di un editor per navigare nel codice piuttosto che premere semplicemente un tasto per attraversare un'intera colonna. Inoltre, non tutti gli editor hanno detto funzionalità e alcuni funzionano anche in modo diverso. Smetti di pensare che tutto il mondo usi Sublime.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.