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

例子:

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


当前回答

这实际上是可以做到的,用一个浏览器扩展。安装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的样式扩展。我希望这能帮助到一些人。

其他回答

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

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

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

在Sublime中是:

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

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

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

当您的存储库中有.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

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

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

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

只是:

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

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

我这样做是为了修复它们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>

如果你喜欢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 });