Làm cách nào để thay đổi kích thước tab trên GitHub?


275

Khi tôi xem tệp trên GitHub, các tab xuất hiện dưới dạng 8 khoảng trắng.

Thí dụ:

thí dụ

Có thể thay đổi cấu hình này thành 2 hoặc 4 không gian?


6
Bạn cũng có thể kiểm tra các câu trả lời được cung cấp trong số GitHub # 170pre { tab-size: 4 }
KyleMit

1
Tôi nghĩ bạn nên thay đổi câu trả lời được chấp nhận thành câu trả lời của @rofrol về việc sử dụng .editorconfig, tôi nghĩ câu trả lời của anh ấy bao gồm các phương pháp tốt nhất hiện tại cho cả việc đặt cấu hình theo cách mà người khác sẽ nhìn thấy mã như bạn dự kiến ​​sẽ thấy và thay đổi cách mã của người khác trông khi bạn đọc nó.
F1lt3r

@ F1lt3r Tôi không đồng ý. Nếu mọi người thực sự muốn xem mã của tôi với 8 khoảng trống hơn cho họ. Tôi không muốn hạn chế chúng theo cách đó để tôi có thể xem nó với 4 khoảng trống trên github. Nếu câu trả lời sẽ thay đổi, thì đó sẽ là câu trả lời của mortenpi
Assimilater

@Assimilater - câu trả lời của rofrol sẽ không hạn chế bất cứ ai xem bất kỳ chiều rộng nào họ muốn. Đồng ý rằng câu trả lời của mortenpi là tốt mặc dù khá bực bội khi phải thêm thông số cho mỗi tệp bạn xem.
F1lt3r

3
Bất cứ ai cũng có thể giải thích logic đằng sau bằng cách sử dụng 8 khoảng trắng làm mặc định? Tôi không thể tưởng tượng bất kỳ kịch bản nào trong đó 8 không gian sẽ trông bất cứ điều gì khác ngoài sự lố bịch - nhưng đó có phải là mặc định trên github không? Đưa cái gì?
PandaWood

Câu trả lời:


24

Cập nhật

. Như đã nêu bởi mortenpi, điều này có thể được thực hiện thông qua một tham số truy vấn bổ sung. Xem câu trả lời của anh ấy để biết thêm chi tiết.

Câu trả lời gốc

Có thể thay đổi cấu hình này thành 2 hoặc 4 không gian?

Không. Nó chỉ khả dụng như một phần của tính năng chỉnh sửa thông qua trình chỉnh sửa Ace và sự thay đổi không được duy trì.

Bài đăng trên blog này cung cấp thêm một số thông tin về IDE nhúng.

Tuy nhiên, miễn là bạn biết url của blob (tệp) bạn muốn xem lại, bạn có thể dễ dàng chuyển sang chế độ chỉnh sửa bằng cách thay đổi phân đoạn blob bằng phân đoạn chỉnh sửa và sử dụng menu thả xuống để chọn kích thước tab ưa thích của bạn.

kích thước tab


20
Ý tưởng tuyệt vời, nhưng vấn đề là một khi bạn chuyển sang chế độ EDIT, bạn cũng FORK lưu trữ đã nói. Có thể nhận được một chút quá mức sau 50 lần chỉnh sửa chỉ xem;)
tomByrer

2
Đã đồng ý. Nhưng đó có thể là một động lực tốt để bắt đầu đóng góp ;)
nulltoken

13
Như @chrisdembia đã đề cập, điều này không còn đúng nữa; github cho phép bạn thay đổi kích thước tab bằng cách chuyển giá trị dưới dạng tham số truy vấn (ví dụ ?ts=4:)
dule 2/215

Có cách nào để cộng đồng ghi đè câu trả lời đã chọn không?
chrisdembia

1
@chrisdembia Cảm ơn bạn đã nhắc nhở;) Đã cập nhật câu trả lời để chỉ ra câu hỏi của morenti's.
nulltoken

354

Bạn có thể nối thêm ?ts=2hoặc ?ts=4vào URL để thay đổi kích thước tab.

Ví dụ: https://github.com/jquery/jquery/blob/master/src/core.js?ts=2

Dường như giá trị có thể là bất cứ thứ gì từ 1 đến 12. Nó không hoạt động trên Gists hoặc chế độ xem tệp thô.

Nguồn: GitHub Cheat Sheet


97
Thật tốt khi điều này là có thể, nhưng sẽ rất tuyệt nếu có một cách dễ dàng để chọn độ rộng của tab thay vì phải nhớ tham số URL.
trên

75
Sẽ thật tuyệt nếu github cho phép bạn lưu nó dưới dạng tùy chọn để bạn không cần phải đặt lại URL.
Thất

3
@PhilDennis Hoạt động với tôi với Chrome (trên Linux).
mortenpi

1
@ NikolaMihajlović Hơi tinh tế một chút, nhưng đối số ts cần phải có trước đoạn # trong URL. Ví dụ: github.com/jquery/jquery/commit/ từ
mortenpi

2
giải pháp tốt đẹp. thật đáng buồn khi không có sự khác biệt trong PR.
bbjay

279

Đặt kích thước tab hiển thị mặc định cho kho lưu trữ của bạn

Khi bạn có .editorconfig trong kho lưu trữ của mình, nó sẽ tôn trọng nó khi xem mã trên GitHub.

indent_style = tab và indent_size = 4 hiển thị các tab có 4 cột thay vì 8 https://github.com/isaacs/github/issues/170#issuecomment-150361692

Ví dụ .editorconfig cho nhiều tiện ích mở rộng hoạt động trong các sản phẩm của 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

Thay đổi cách bạn nhìn thấy các tab trên kho khác

Cài đặt bút stylus trong trình duyệt của bạn, hơn là cài đặt GitHub: các tab có kích thước tốt hơn trong mã .

Ngoài ra còn có các tiện ích mở rộng của Google Chrome:


2
Có vẻ như github không tôn trọng tệp Editorconfig đối với các tệp không có tên (.gitconfig, v.v.). Bất cứ ý tưởng tại sao hoặc nó là một lỗi? Ex github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy

7
dotfiles dường như không được tôn trọng với [*](trên github). Tôi đã phải thêm một mục khác với [.*].
PotatoFarmer

Đây sẽ là câu trả lời được chấp nhận cho đến nay! Tôi ngạc nhiên khi Github thực sự tuân theo các quy tắc cấu hình của trình soạn thảo.
Maurício Giordano

1
Nó không được tôn trọng trong các cam kết :-(
Nikola Mihajlović

1
@rofrol Mình nghĩ mình bị nhầm. Kích thước tab hoạt động chính xác trong mã và khác, nhưng không phải trong README.mdđoạn mã. Đây là một quan sát mới; Tôi không biết README.mdcác đoạn mã có bao giờ kích thước tab khác với 8 khoảng trắng không.
Redsandro

68

Nó thực sự có thể làm điều đó, với một phần mở rộng trình duyệt. Cài đặt Kiểu dáng (trong Firefox hoặc Chrome ), sau đó cài đặt kiểu người dùng này: Thẻ GitHub: các tab có kích thước tốt hơn trong mã mã .

Nó có thể không hoạt động đối với một số ngôn ngữ. Ví dụ: tôi đang xem tệp JavaScript và tôi không nhận thấy bất kỳ thay đổi nào. Vì vậy, tôi đã xóa phong cách mà tác giả đã có và đặt các dòng sau vào đó:

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

Và nó đã hoạt động trên Chrome ( ảnh chụp màn hình ).

Như bạn có thể thấy từ ảnh chụp màn hình, tôi cũng kích hoạt chế độ màn hình rộng và thay đổi bảng màu thành Solarized. Vì vậy, tôi có ba kiểu người dùng đang chạy trên các trang GitHub thông qua tiện ích mở rộng Kiểu cho Chrome . Tôi hi vọng điêu nay se giup được ai đo.


18
Tôi đã viết phong cách người dùng đó . Tôi rất vui vì bạn thấy nó hữu ích. Tôi đã sửa nó và kiểm tra nó trong Chrome và giờ nó hoạt động mà không cần sửa đổi.
Rory O'Kane

2
Bạn cũng có thể thích kiểu người dùng của tôi, Tất cả mã có kích thước tab 4 , thay đổi kích thước tab của <code>các thành phần trên tất cả các trang web.
Rory O'Kane

1
Github thay thế mọi thứ \tbằng 8 &nbsp;. Merde.
Rudie

2
Yep Họ đã không làm điều đó trước đây và tôi không biết tại sao họ lại làm điều đó bây giờ :( Tôi đoán một giải pháp có thể là ai đó viết một kịch bản thay thế nói ... 4 liên tiếp & nbsp; với hai hoặc bất cứ điều gì. Nhưng đó phải là một "usercript" tôi nghĩ.
aledujke 19/12/13

1
Kiểu người dùng GitHub Dark Style của chúng tôi cho phép bạn đặt kích thước tab. Và nó đang được tích cực duy trì.
Mottie

0

Nếu bạn vào UserScripts, điều này đã giúp tôi:

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

Tôi sẽ thích sự thay thế này nhưng nó dường như hoạt động ngẫu nhiên ít nhiều: nếu dữ liệu không được tải trước khi usercript chạy (ví dụ như liệt kê tệp sau đó nhấp để mở tệp), nó không hoạt động.
Mười

-3

Tôi đã làm điều đó để sửa chúng http://valjok.blogspot.com/2014/07/indentation-correction-for-exposeing.html .

Một tùy chọn khác là khi nhúng ý chính của bạn , thay thế tất cả các tab bằng số lượng khoảng trống cần thiết

<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

Nếu đó là một tùy chọn cho dự án bạn đang thực hiện, việc thay đổi trình chỉnh sửa của bạn để xử lý các tab vì khoảng trắng sẽ khắc phục vấn đề.

Vì vậy, ví dụ, trong Visual Studio Code, cấu hình trông như thế này:

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

Trong Sublime, nó:

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

Cho đến gần đây, tôi nhấn mạnh vào các tab không khoảng cách. Sau khi chuyển đổi, nó đã sửa lỗi kỳ lạ kết xuất Github và tôi không nhận thấy bất kỳ nhược điểm đáng kể nào trong quy trình làm việc của mình.


-20

Giải pháp tốt nhất là, nếu có thể, để thuyết phục những người duy trì mã nguồn bạn đang xem để thay thế tất cả các tab bằng số khoảng trắng chính xác.

Việc sử dụng các tab là vấn đề trong mã ngày nay do bạn thường thấy nó trên web, trong đó quyết định "có bao nhiêu khoảng trống trên mỗi tab" phụ thuộc vào nơi nó được hiển thị.


7
Đây là câu trả lời đúng và không đáng bị đánh giá thấp. Có quá nhiều phần mềm ngoài đó không cho phép bạn thay đổi độ rộng của tab để "các tab có thể định cấu hình" thành bất cứ điều gì khác ngoài suy nghĩ mong muốn. Và nếu bạn từng thụt vào bất cứ thứ gì một khoảng cách không phải là nhiều chiều rộng của tab ưa thích của bạn, thì bây giờ bạn có một hỗn hợp các tab và khoảng trắng và điều chỉnh kích thước tab thậm chí không hoạt động nữa.
zwol

8
Đọc bài viết Wikipedia về nơi tab 8 không gian đến từ đâu. Một kích thước tab ngang phổ biến gồm tám ký tự được phát triển, mặc dù năm ký tự là nửa inch và thụt dòng điển hình của thời gian, bởi vì với sức mạnh của hai, việc tính toán nhị phân cho các thiết bị điện tử kỹ thuật số hạn chế có sẵn dễ dàng hơn. Câu trả lời của bạn sử dụng lý luận tròn (tức là tiêu chuẩn có tám ký tự vì đó là tiêu chuẩn) để đóng cửa cho câu hỏi. Người hỏi không hài lòng với tiêu chuẩn này và có rất ít lý do.
Adam

4
@mrjedmao Nó làm, bạn có thể làm ?ts=4.
Ben

5
Tôi thích tab hơn không gian, vì nó tăng tốc độ chỉnh sửa của tôi từ 4 đến 8 lần khi tôi di chuyển con trỏ qua một khoảng trắng.

4
"Ngoại trừ người trả tiền cho nhà phát triển, hmm?" IDE của não bạn có sử dụng tính năng di chuyển của nó để bỏ qua câu sau không? Tôi tuyên bố rõ ràng rằng các quy ước được thi hành của một dự án được ưu tiên hơn các sở thích cá nhân. | | "Tại sao bạn làm điều đó với chính mình, khi tất cả các biên tập viên có tính năng di chuyển từng từ / trường / dòng?" Có, bạn đang ám chỉ việc sử dụng tính năng của trình chỉnh sửa để điều hướng mã dễ dàng hơn là chỉ cần nhấn một phím để duyệt toàn bộ một cột. Hơn nữa, không phải tất cả các biên tập viên đều nói các tính năng, và một số thậm chí hoạt động khác nhau. Ngừng suy nghĩ cả thế giới sử dụng Sublime.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.