当我在GitHub上查看文件时,制表符显示为8个空格。

例子:

有可能把这个配置改为2或4个空格吗?


更新

是的。正如mortenpi所说,这可以通过一个额外的查询参数来实现。详见他的回答。

原来的答案

有可能把这个配置改为2或4个空格吗?

不。它只能通过Ace编辑器作为编辑功能的一部分使用,并且更改不会被持久化。

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

但是,如果您知道您想要查看的blob(文件)的url,您可以通过使用编辑段更改blob段并使用下拉菜单选择您喜欢的选项卡大小来轻松切换到编辑模式。

标准视图:https://github.com/moroshko/mmSelect/blob/master/mm_select.js 王牌视图:https://github.com/moroshko/mmSelect/edit/master/mm_select.js


这实际上是可以做到的,用一个浏览器扩展。安装Stylish(在Firefox或Chrome中),然后安装这种用户样式:“GitHub:代码中更好大小的选项卡”。

它可能不适用于某些语言。例如,我正在查看一个JavaScript文件,我没有注意到任何变化。所以我删除了作者的风格,并加入了以下几行:

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

它在Chrome上也能运行(截图)。

正如你从截图中看到的,我还启用了宽屏模式,并将配色方案更改为日光。所以我有三种用户样式运行在GitHub页面上通过Chrome的样式扩展。我希望这能帮助到一些人。


最好的解决方案是,如果可能的话,说服源代码的维护者用正确的空格数替换所有制表符。

在今天的代码中使用标签是有问题的,因为你经常在网络上看到它,“每个标签有多少空间”的决定取决于它被显示在哪里。


您可以将?ts=2或?ts=4附加到URL以更改制表符大小。

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

这个值似乎可以是1到12之间的任何值。它不工作在gist或原始文件视图。

来源:GitHub Cheat Sheet


我这样做是为了修复它们http://valjok.blogspot.com/2014/07/indentation-correction-for-exposing.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>

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

当您的存储库中有.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:代码中更大的标签。

还有谷歌Chrome扩展:

https://chrome.google.com/webstore/detail/github-tab-sizer/djpnapkcpjomnkfekaedkigfomiedpjf https://chrome.google.com/webstore/detail/github-tab-size/ofjbgncegkdemndciafljngjbdpfmbkn/related


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

例如,在Visual Studio Code中,配置是这样的:

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

在Sublime中是:

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

直到最近,我还坚持使用非空格制表符。切换后,它修复了Github渲染的怪异,我没有注意到我的工作流程中有任何显著的缺点。


如果你喜欢UserScripts,这对我来说很有用:

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

如果项目是你的,在项目根目录下创建一个名为“”的文件。Editorconfig”,并为其提供以下内容。

[*]
indent_style = tab
indent_size = 4

这将导致GitHub在项目中呈现4宽的选项卡。

这是一个正式指定的EditorConfig文件,许多编辑器都支持它,还支持更广泛的编辑器配置,比如指定所有.html文件都是UTF-8编码的。

如果项目不是你的,考虑打开一期,要求作者指定他们想要的缩进样式。


自2021年9月起,你可以直接在GitHub设置中设置标签大小:github.com/settings/appearance。

在更新日志“标签大小呈现首选项”中宣布。

不再使用.editorconfig 没有更多的?ts=2添加到URL

只是:

注:例如不能输入“3”。你会得到:

无法保存制表符大小渲染首选项: 验证失败: 标签大小不包括在列表中