Como alterar o tamanho da guia no GitHub?

275

Quando visualizo arquivos no GitHub, as guias aparecem como 8 espaços.

Exemplo:

exemplo

É possível alterar essa configuração para 2 ou 4 espaços?

Misha Moroshko
fonte
6
Você também pode conferir as respostas fornecidas na edição #pre { tab-size: 4 }
KyleMit 3/14
1
Acho que você deve alterar a resposta aceita por @rofrol sobre o uso do .editorconfig, acho que a resposta dele inclui os melhores métodos atuais para definir a configuração de uma maneira que outras pessoas vejam o código como você pretendia que fosse visto, e alterando a aparência do código de outras pessoas quando você o lê.
precisa saber é o seguinte
@ f1lt3r Eu discordo. Se as pessoas realmente querem ver meu código com 8 espaços, mais poder para elas. Não quero restringi-los dessa maneira, apenas para que eu possa visualizá-lo com 4 espaços no github. Se a resposta vai mudar, deve ser resposta mortenpi de
Assimilater
@Assimilater - a resposta da rofrol não impediria ninguém de ver a largura que quisesse. Concorde que a resposta do mortenpi é boa, mas bastante frustrante por ter que adicionar o parâmetro para cada arquivo que você olha.
F1lt3r 21/0318
3
Alguém pode explicar a lógica por trás do uso de 8 espaços como padrão? Não consigo imaginar nenhum cenário em que 8 espaços pareçam ridículos - mas é o padrão no github? O que da?
PandaWood

Respostas:

24

Atualizar

Sim . Conforme declarado por mortenpi, isso pode ser feito por meio de um parâmetro de consulta adicional. Veja a resposta dele para mais detalhes.

Resposta original

É possível alterar essa configuração para 2 ou 4 espaços?

Não. Ele está disponível apenas como parte do recurso de edição pelo editor do Ace e a alteração não é persistente.

Esta postagem do blog fornece mais informações sobre o IDE incorporado.

No entanto, desde que você saiba o URL do blob (arquivo) que deseja revisar, é possível alternar para o modo de edição facilmente, alterando o segmento de blob por um segmento de edição e use o menu suspenso para selecionar o tamanho de sua guia preferida.

tabSize

nulltoken
fonte
20
Ótima idéia, mas o problema é que quando você entra no modo EDIT, você também FORQUILHA o referido arquivo. Pode ficar um pouco excessivo após 50 ou assim vista exclusivamente por edições;)
tomByrer
2
Acordado. Mas isso pode ser um bom incentivo para começar a contribuir ;)
nulltoken
13
Como @chrisdembia mencionou, isso não está mais correto; github permite que você altere o tamanho guia, passando o valor como um parâmetro de consulta (por exemplo, ?ts=4)
dule
Existe uma maneira de a comunidade substituir a resposta selecionada?
Chrisdembia
1
@chrisdembia Obrigado pelos lembretes;) Atualizou a resposta para apontar para a de morenti.
nulltoken
354

Você pode anexar ?ts=2ou ?ts=4ao URL para alterar o tamanho da guia.

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

Parece que o valor pode ser de 1 a 12. Porém, ele não funciona em Gists ou em visualizações de arquivos brutos.

Fonte: Folha de dicas do GitHub

mortenpi
fonte
97
É bom que isso seja possível, mas seria bom se houvesse uma maneira fácil de escolher a largura da guia, em vez de precisar lembrar o parâmetro URL.
Aross
75
Também seria bom se o github permitir que você salve isso como uma preferência, para que você não precise colocá-lo novamente no URL.
FrustratedWithFormsDesigner
3
@ PhilDennis Funciona para mim com o Chrome (no Linux).
mortenpi
1
@ NikolaMihajlović É um pouco sutil, mas o argumento ts precisa estar antes do fragmento # na URL. Por exemplo, github.com/jquery/jquery/commit/…
mortenpi
2
boa solução. infelizmente não funciona em diffs em PR's.
bbjay
279

Defina o tamanho padrão da guia exibida para seu repositório

Quando você tem um .editorconfig no seu repositório, ele o respeitará ao exibir o código no GitHub.

indent_style = tab e indent_size = 4 mostra guias com 4 colunas em vez de 8 https://github.com/isaacs/github/issues/170#issuecomment-150489692

Exemplo .editorconfig para várias extensões que funcionam nos produtos 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

Altere como você vê as guias em outros repositórios

Instale a Stylus no seu navegador e instale o GitHub: abas de melhor tamanho no código .

Também existem extensões do Google Chrome:

rofrol
fonte
2
Parece que o github não respeita o arquivo editorconfig para arquivos sem nomes (.gitconfig, etc). Alguma idéia do porquê ou é um bug? Ex: github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy
7
dotfiles não parecem ser respeitados com o [*](no github). Eu tive que adicionar outra entrada com [.*].
PotatoFarmer 25/09
Essa deve ser a resposta aceita de longe! Estou surpreso que o Github realmente siga as regras de configuração do editor.
Maurício Giordano
1
Não é respeitado em submissões :-(
Nikola Mihajlović
1
@rofrol Acho que me enganei. O tamanho da guia funciona corretamente no código e nas diferenças, mas não nos README.mdtrechos de código. Esta é uma nova observação; Não sei se README.mdos snippets de código já fizeram tamanhos de tabulação além de 8 espaços.
Redsandro 14/10/19
68

Na verdade, é possível fazê-lo, com uma extensão do navegador. Instale o Stylish (no Firefox ou Chrome ) e instale este estilo de usuário: “ GitHub: guias de melhor tamanho no código ”.

Pode não funcionar para alguns idiomas. Por exemplo, eu estava visualizando um arquivo JavaScript e não notei nenhuma alteração. Então, excluí o estilo do autor e coloquei as seguintes linhas:

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

E funcionou no Chrome ( captura de tela ).

Como você pode ver na captura de tela, também habilitei o modo widescreen e alterei o esquema de cores para Solarizado. Então, eu tenho três estilos de usuário em execução nas páginas do GitHub por meio da extensão Stylish para Chrome . Espero que isso ajude alguém.

aledujke
fonte
18
Eu escrevi esse estilo de usuário . Estou feliz que você tenha achado útil. Corrigi e testei no Chrome e agora funciona sem a sua modificação.
Rory O'Kane
2
Você também pode gostar do meu estilo de usuário " Todo o código tem tamanho de guia 4 ", que altera o tamanho da guia dos <code>elementos em todos os sites.
Rory O'Kane
1
O Github substitui cada \tpor 8 &nbsp;. Merde.
quer
2
Sim Eles não fizeram isso antes e eu não tenho idéia do por que eles fazem isso agora :( Acho que uma solução pode ser alguém escrevendo um script que substitua digamos ... 4 consecutivos por dois ou o que for. Mas isso tem que ser um "userscript" Eu acho.
aledujke
1
Nosso estilo de usuário GitHub Dark Stylish permite definir o tamanho da guia. E está sendo mantido ativamente.
Mottie
0

Se você gosta de UserScripts, fez isso por mim:

// ==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
fonte
Eu teria preferido essa alternativa, mas isso parece funcionar de forma mais ou menos aleatória: se os dados não foram carregados antes da execução do script de usuário (por exemplo, lista de arquivos e clique para abrir o arquivo), ela não funciona.
Dez
-3

Fiz isso para corrigi-los http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.html .

Outra opção é ao incorporar sua essência , substituir todas as guias pelo número necessário de espaços

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

Se for uma opção para o projeto em que você está trabalhando, alterar o editor para tratar as guias como espaços corrigirá o problema.

Então, por exemplo, no Visual Studio Code, a configuração é assim:

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

No Sublime é:

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

Até recentemente, eu insistia em abas não espaçadas. Após a troca, ele corrigiu a estranheza da renderização do Github, e não notei nenhuma desvantagem significativa no meu fluxo de trabalho.

Bryce Johnson
fonte
-20

A melhor solução é, se possível, convencer os mantenedores do código fonte que você está procurando para substituir todas as guias pelo número correto de espaços.

Atualmente, o uso de guias é problemático no código, uma vez que você costuma vê-lo na Web, onde a decisão de "quantos espaços por guia" depende de onde está sendo exibida.

Tom Swirly
fonte
7
Esta é a resposta correta e não merece voto negativo. Há muito software por aí que não permite alterar a largura das guias para que "guias sejam configuráveis" sejam algo que não seja uma ilusão. E se você recuar algo a uma distância que não seja múltipla da largura de sua guia preferida, agora terá uma mistura de guias e espaços e o ajuste do tamanho da guia nem funcionará mais.
Zwol
8
Leia o artigo da Wikipedia sobre a origem da guia 8-space. "Um tamanho de tabulação horizontal comum de oito caracteres evoluiu, apesar de cinco caracteres terem meia polegada e o recuo típico de parágrafos da época, porque, como potência de dois, era mais fácil calcular em binário os eletrônicos digitais limitados disponíveis". Sua resposta usa raciocínio circular (ou seja, o padrão tem oito caracteres, porque esse é o padrão) para fechar a porta da pergunta. O solicitante não está satisfeito com esse padrão e tem poucas razões para estar.
Adam
4
@mrjedmao Sim, você pode fazer ?ts=4.
Ben
5
Prefiro tabulação do que espaço, porque acelera minha edição entre 4 e 8 vezes quando movo o cursor por um espaço em branco.
4
"Exceto a pessoa que está pagando ao desenvolvedor, hum?" O IDE do seu cérebro usou o recurso de mover por linha para pular a frase a seguir? Afirmei explicitamente que as convenções aplicadas de um projeto têm precedência sobre as preferências individuais. || "Por que você faz isso sozinho, quando todos os editores têm um recurso de mover por palavra / campo / linha?" Sim, você está sugerindo que é mais fácil usar o recurso de um editor para navegar pelo código do que simplesmente pressionar uma tecla para percorrer uma coluna inteira. Além disso, nem todos os editores disseram esses recursos, e alguns até funcionam de maneira diferente. Pare de pensar que o mundo inteiro usa o Sublime.