如何在GitHub上更改标签大小?


275

当我在GitHub上查看文件时,选项卡显示为8个空格。

例:

例

是否可以将此配置更改为2或4个空格?


6
您还可以查看GitHub 第170期pre { tab-size: 4 }
KyleMit 2014年

1
我认为您应该使用@rofrol将接受的答案更改为@rofrol .editorconfig的答案,我认为他的答案包括当前的最佳方法,这两种方法都可以以其他人看到您希望看到的代码的方式设置配置,以及在阅读时更改他人代码的外观。
f1lt3r

@ f1lt3r我不同意。如果人们真的想用8个空格查看我的代码,那么他们会拥有更多权力。我不想这样限制它们,以便我可以自己在github上的4个空格处查看它。如果答案要改变,那应该是mortenpi的答案
Assimilater

@Assimilater-rofrol的回答不会限制任何人查看他们想要的宽度。同意mortenpi的回答是好的,尽管很沮丧,不得不为您查看的每个文件添加参数。
f1lt3r

3
谁能解释默认使用8个空格的逻辑?我无法想象在任何情况下8个空格看起来都是荒谬的-但这是github上的默认设置吗?是什么赋予了?
PandaWood '18

Answers:


24

更新资料

是的。如mortenpi所述,这可以通过附加的查询参数来完成。请参阅他的答案以获取更多详细信息。

原始答案

是否可以将此配置更改为2或4个空格?

不可以。它仅可通过Ace编辑器作为编辑功能的一部分使用,并且更改不会持久保存。

这篇博客文章提供了有关嵌入式IDE的更多信息。

但是,只要您知道愿意查看的Blob(文件)的网址,就可以通过使用编辑段更改Blob段并使用下拉菜单选择所需的标签大小来轻松地切换到编辑模式。

tabSize


20
好主意,但是问题是一旦您进入EDIT模式,您还可以分叉所述存档。经过50次左右的仅查看编辑后,可能会有点过分;)
toByrer

2
同意 但这可能是开始捐款的好动力;)
nulltoken 2012年

13
正如@chrisdembia所提到的,这不再正确。github允许您通过将值作为查询参数(例如?ts=4)传递来更改制表符的大小
dule 2015年

社区是否有办法覆盖所选答案?
chrisdembia'2

1
@chrisdembia感谢您的提醒;)更新了答案以指向morenti的答案。
nulltoken 2015年

354

您可以在URL上追加?ts=2?ts=4来更改标签大小。

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

该值似乎可以是1到12之间的任何值。尽管如此,它不适用于Gist或原始文件视图。

来源:GitHub备忘单


97
可以做到这一点很好,但是如果有一种简单的方法来选择制表符宽度而不必记住URL参数,那就太好了。
2014年

75
如果github允许您将其保存为首选项也很好,这样您就不必继续将其放回URL中。
FrustratedWithFormsDesigner

3
@PhilDennis适用于我的Chrome(在Linux上)。
mortenpi '17

1
@NikolaMihajlović有点微妙,但是ts参数必须位于URL中的#片段之前。例如github.com/jquery/jquery/commit/…–
mortenpi,

2
不错的解决方案。可悲的是,对公关的差异不起作用。
bbjay

279

设置存储库的默认显示选项卡大小

当您的存储库中有一个.editorconfig时,在GitHub上查看代码时将尊重它。

indent_style = tab和indent_size = 4显示具有4列而不是8列的标签 https://github.com/isaacs/github/issues/170#issuecomment-150489692

适用于JetBrains产品的多个扩展的示例.editorconfig

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

更改您如何查看其他存储库上的选项卡

在浏览器中安装Stylus,而不是在GitHub上安装GitHub:代码中尺寸更大的选项卡

还有Google Chrome扩展程序:


2
似乎github对于不带名称的文件(.gitconfig等)不尊重editorconfig文件。知道为什么还是它的错误?例如github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy

7
dotfiles似乎不被[*]github上的尊重。我必须用添加另一个条目[.*]
PotatoFarmer

到目前为止,这应该是公认的答案!我很惊讶Github实际上遵循编辑器配置规则。
毛里西奥佐丹奴

1
提交中不尊重它:-(
NikolaMihajlović18年

1
@rofrol我想我弄错了。制表符的大小在代码和差异中正确起作用,但在README.md代码片段中则无效。这是一个新观察;我不知道README.md代码片段是否曾经使用过8个空格以外的制表符大小。
Redsandro

68

实际上,可以通过浏览器扩展来做到这一点。安装时尚的(在FirefoxChrome中),然后安装以下用户样式:“ GitHub:代码中尺寸更大的标签 ”。

它可能不适用于某些语言。例如,我正在查看一个JavaScript文件,但是没有发现任何更改。因此,我删除了作者的样式,并在其中添加了以下几行:

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

它可以在Chrome上运行(屏幕截图)。

从屏幕截图中可以看到,我还启用了宽屏模式,并将配色方案更改为Solarized。因此,我通过Chrome时尚扩展程序在GitHub页面上运行了三种用户样式。我希望这可以帮助别人。


18
我写了那种用户风格。很高兴您发现它有用。我已经修复它并在Chrome中对其进行了测试,现在它无需修改即可正常工作。
罗里·奥肯

2
您可能还喜欢我的用户风格“ 所有代码的标签大小为4 ”,它更改了<code>所有网站上元素的标签大小。
罗里·奥肯

1
Github \t用8 代替了每一个&nbsp;。默德
鲁迪

2
是的,他们以前没有这样做,我也不知道为什么现在要这样做:(我想一个解决方案可以是有人写一个脚本,用两个或其他内容替换说... 4个连续的&nbsp;,但这必须是我认为是“用户脚本”
aledujke

1
我们的GitHub Dark时尚用户风格允许您设置标签大小。而且它正在积极维护。
莫蒂2014年

0

如果您喜欢UserScript,这对我来说是成功的:

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

我本来希望这种选择,但它似乎或多或少地随机起作用:如果在运行用户脚本之前未加载数据(例如,文件列表,然后单击以打开文件),则它将不起作用。

-3

我这样做是为了修复它们 http://valjok.blogspot.com/2014/07/indentation-correction-for-exposed.html

另一种选择是在嵌入要点时,用所需的空格数替换所有选项卡

<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

如果这是您正在处理的项目的选项,则更改编辑器以将制表符视为空格将解决此问题。

因此,例如,在Visual Studio Code中,配置如下所示:

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

在Sublime中,它是:

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

直到最近,我仍坚持使用非间隔制表符。切换后,它修复了Github渲染怪异的现象,而且我还没有注意到工作流程中的任何重大缺点。


-20

最好的解决方案是,如果可能的话,使维护人员相信您正在寻找的源代码,以正确数量的空格替换所有选项卡。

考虑到您经常在Web上看到标签,如今在代码中使用标签是有问题的,“每个标签多少个空格”的决定取决于它的显示位置。


7
这是正确的答案,不应该被低估。那里的软件太多了,您无法将“标签可配置”的标签宽度更改为一厢情愿的事情。而且,如果您缩进的距离不是首选制表符宽度的倍数,那么您现在会混用制表符和空格,并且调整制表符的大小甚至不再起作用。
zwol 2014年

8
阅读有关8空格标签来自何处的Wikipedia文章。“尽管有五个字符是半英寸,而且典型的段落缩进时间是8个字符的常见水平制表符大小,但因为以2的幂为单位,对于可用的有限数字电子设备,以二进制形式进行计算更容易。” 您的答案使用循环推理(即标准是8个字符,因为这是标准)来关闭问题。质询者对此标准不满意,没有理由。
亚当

4
@mrjedmao可以,您可以这样做?ts=4
2014年

5
我更喜欢制表符而不是空格,因为当我在空白处移动光标时,它可以将编辑速度提高4到8倍。

4
“除了向开发商付款的人,嗯?” 您的大脑的IDE是否使用其逐行移动功能跳过了以下句子?我明确指出,项目的强制性约定优先于个人偏好。|| “当所有编辑者都具有按字/字段/行移动功能时,为什么要自己动手做呢?” 是的,您的意思是,使用编辑器的功能导航代码比简单地按一个键遍历整个列要容易得多。此外,并非所有编辑者都说过这些功能,有些甚至工作方式也有所不同。不要再想全世界都在使用Sublime。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.