จะเปลี่ยนขนาดแท็บบน GitHub ได้อย่างไร?


275

เมื่อฉันดูไฟล์บน GitHub แท็บจะปรากฏเป็น 8 ช่องว่าง

ตัวอย่าง:

ตัวอย่าง

เป็นไปได้หรือไม่ที่จะเปลี่ยนการกำหนดค่านี้เป็น 2 หรือ 4 ช่องว่าง?


6
คุณสามารถตรวจสอบคำตอบที่ให้ไว้ในปัญหา GitHub # 170pre { tab-size: 4 }
KyleMit

1
ฉันคิดว่าคุณควรเปลี่ยนคำตอบที่ยอมรับโดย @rofrol เกี่ยวกับการใช้.editorconfigฉันคิดว่าคำตอบของเขารวมถึงวิธีที่ดีที่สุดในปัจจุบันสำหรับทั้งการตั้งค่าในลักษณะที่คนอื่นจะเห็นรหัสตามที่คุณต้องการให้เห็น การเปลี่ยนรูปลักษณ์ของรหัสของคนอื่นเมื่อคุณอ่าน
f1lt3r

@ f1lt3r ฉันไม่เห็นด้วย หากผู้คนต้องการดูรหัสของฉันด้วยช่องว่างที่มากกว่า 8 ช่องทางให้กับพวกเขา ฉันไม่ต้องการ จำกัด พวกเขาด้วยวิธีนี้ดังนั้นฉันจึงสามารถดูได้ด้วยช่องว่าง 4 ช่องบน GitHub สำหรับตัวเอง หากคำตอบจะเปลี่ยนไปมันควรจะเป็นคำตอบของ mortenpi
Assimilater

@Assimilater - คำตอบของ rofrol จะไม่ จำกัด ใครให้ดูความกว้างที่พวกเขาต้องการ ยอมรับว่าคำตอบของ mortenpi นั้นดี แต่ค่อนข้างน่าผิดหวังที่ต้องเพิ่มพารามิเตอร์สำหรับไฟล์ทุกไฟล์ที่คุณดู
f1lt3r

3
ทุกคนสามารถอธิบายเหตุผลที่อยู่เบื้องหลังด้วยการใช้ช่องว่าง 8 รายการเป็นค่าเริ่มต้นได้หรือไม่ ฉันไม่สามารถจินตนาการถึงสถานการณ์ที่ 8 ช่องว่างจะดูเป็นอะไรที่ไร้สาระ - แต่มันเป็นค่าเริ่มต้นของ github หรือไม่ สิ่งที่ช่วยให้?
PandaWood

คำตอบ:


24

ปรับปรุง

ใช่แล้ว ตามที่ระบุโดย mortenpi สิ่งนี้สามารถทำได้โดยผ่านพารามิเตอร์การสืบค้นเพิ่มเติม ดูคำตอบของเขาสำหรับรายละเอียดเพิ่มเติม

คำตอบเดิม

เป็นไปได้หรือไม่ที่จะเปลี่ยนการกำหนดค่านี้เป็น 2 หรือ 4 ช่องว่าง?

ไม่ได้มีให้เฉพาะในส่วนของคุณลักษณะการแก้ไขผ่านตัวแก้ไขAceและการเปลี่ยนแปลงจะไม่คงอยู่

โพสต์บล็อกนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับ IDE ที่ฝังตัว

อย่างไรก็ตามหากคุณทราบ URL ของ Blob (ไฟล์) ที่คุณต้องการตรวจสอบคุณสามารถสลับไปที่โหมดแก้ไขได้อย่างง่ายดายโดยเปลี่ยนเซ็กเมนต์Blobด้วยเซ็กเมนต์การแก้ไขและใช้เมนูแบบเลื่อนลงเพื่อเลือกขนาดแท็บที่คุณต้องการ

tabSize


20
ความคิดที่ดี แต่ปัญหาคือเมื่อคุณเข้าสู่โหมดแก้ไขคุณยังต้องหาที่เก็บถาวรดังกล่าวด้วย อาจได้รับบิตมากเกินไปหลังจาก 50 หรือเพื่อให้ดูอย่างเดียว-แก้ไข;)
tomByrer

2
ตกลง แต่นั่นอาจเป็นแรงจูงใจที่ดีในการเริ่มมีส่วนร่วม ;)
nulltoken

13
@chrisdembia ที่กล่าวถึงนี้ไม่ถูกต้องอีกต่อไป; GitHub ช่วยให้คุณสามารถเปลี่ยนขนาดแท็บโดยการส่งผ่านค่าเป็นพารามิเตอร์แบบสอบถาม (เช่น?ts=4)
dule

มีวิธีที่ชุมชนจะแทนที่คำตอบที่เลือกหรือไม่
chrisdembia

1
@ chrisdembia ขอบคุณสำหรับการเตือน;) อัปเดตคำตอบให้ชี้ไปที่ morenti's อันหนึ่ง
nulltoken

354

คุณสามารถผนวก?ts=2หรือ?ts=4เปลี่ยน URL เพื่อเปลี่ยนขนาดแท็บ

ตัวอย่าง: https://github.com/jquery/jquery/blob/master/src/core.js?ts=2

ดูเหมือนว่าค่าสามารถเป็นอะไรก็ได้ตั้งแต่ 1 ถึง 12 มันไม่สามารถใช้งานได้ใน Gists หรือมุมมองไฟล์ดิบ

ที่มา: GitHub Cheat Sheet


97
เป็นเรื่องที่ดีที่เป็นไปได้ แต่จะดีถ้ามีวิธีที่ง่ายในการเลือกความกว้างของแท็บแทนที่จะจำพารามิเตอร์ URL
aross

75
มันจะดีถ้า github ให้คุณบันทึกเป็นค่ากำหนดดังนั้นคุณไม่จำเป็นต้องใส่กลับเข้าไปใน URL
FrustratedWithFormsDesigner

3
@PhilDennis ทำงานให้ฉันด้วย Chrome (บน Linux)
mortenpi

1
@ NikolaMihajlovićมันค่อนข้างบอบบาง แต่อาร์กิวเมนต์ ts จำเป็นต้องอยู่ก่อนส่วนใน # URL เช่นgithub.com/jquery/jquery/commit/…
mortenpi

2
ทางออกที่ดี น่าเศร้าที่ไม่ได้ทำงานในความแตกต่างในการประชาสัมพันธ์
bbjay

279

ตั้งค่าขนาดแท็บเริ่มต้นที่แสดงสำหรับที่เก็บของคุณ

เมื่อคุณมี. editorconfigในที่เก็บของคุณมันจะเคารพมันเมื่อดูรหัสบน GitHub

indent_style = แท็บและ indent_size = 4 แสดงแท็บที่มี 4 คอลัมน์แทน 8 https://github.com/isaacs/github/issues/170#issuecomment-150489692

ตัวอย่าง. editorconfigสำหรับส่วนขยายที่ทำงานในผลิตภัณฑ์ของ 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

เปลี่ยนวิธีที่คุณเห็นแท็บในที่เก็บอื่น

ติดตั้งสไตลัสในเบราว์เซอร์ของคุณนอกจากการติดตั้งGitHub: แท็บดีกว่าขนาดกลางในรหัส

นอกจากนี้ยังมีส่วนขยายของ Google Chrome:


2
ดูเหมือนว่า github ไม่เคารพไฟล์ editorconfig สำหรับไฟล์ที่ไม่มีชื่อ (.gitconfig ฯลฯ ) ความคิดใด ๆ ที่เป็นสาเหตุหรือเป็นข้อบกพร่อง? Ex github.com/rmandvikar/git-setup/blob/tabs/.gitconfig
hIpPy

7
ดูเหมือนว่า dotfiles จะไม่ได้รับความเคารพจาก[*](บน GitHub) [.*]ผมต้องเพิ่มรายการอีกด้วย
PotatoFarmer

นี่ควรเป็นคำตอบที่ยอมรับโดยไกล! ฉันประหลาดใจที่ Github ทำตามกฎการกำหนดค่าตัวแก้ไขได้จริง
Maurício Giordano

1
มันไม่ได้เป็นที่เคารพใน commits :-(
Nikola Mihajlović

1
@ น้ำมันฉันคิดว่าฉันเข้าใจผิด ขนาดแท็บทำงานได้อย่างถูกต้องในรหัสและแตกต่างกัน แต่ไม่อยู่ในREADME.mdข้อมูลโค้ด นี่คือการสังเกตใหม่ ฉันไม่ทราบว่าREADME.mdข้อมูลโค้ดเคยมีขนาดแท็บนอกเหนือจากช่องว่าง 8 รายการหรือไม่
Redsandro

68

จริงๆแล้วมันเป็นไปได้ที่จะทำมันด้วยส่วนขยายเบราว์เซอร์ ติดตั้ง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 ผ่านทางส่วนขยาย Stylish สำหรับ ChromeChrome ฉันหวังว่านี่จะช่วยให้ใครบางคน


18
ฉันเขียนสไตล์ผู้ใช้นั้น ฉันดีใจที่คุณพบว่ามีประโยชน์ ฉันได้ทำการแก้ไขและทดสอบใน Chrome แล้วและตอนนี้ก็ใช้งานได้โดยที่คุณไม่ต้องดัดแปลง
Rory O'Kane

2
คุณอาจชอบสไตล์ผู้ใช้ของฉัน“ รหัสทั้งหมดมีขนาดแท็บ 4 ” ซึ่งเปลี่ยนขนาดแท็บของ<code>องค์ประกอบในเว็บไซต์ทั้งหมด
Rory O'Kane

1
Github แทนที่ทุก8\t &nbsp;Merde
Rudie

2
ใช่พวกเขาไม่ได้ทำแบบนั้นมาก่อนและฉันก็ไม่รู้ว่าทำไมพวกเขาถึงทำแบบนั้นตอนนี้ :( ฉันเดาว่าวิธีแก้ปัญหาอาจเป็นคนที่เขียนสคริปต์ที่แทนที่ว่า ... 4 ติดต่อกัน & nbsp; ด้วยสองหรืออะไรก็ตาม "userscript" ฉันคิดว่า
aledujke

1
ผู้ใช้สไตล์GitHub Dark Stylish ของเราช่วยให้คุณกำหนดขนาดแท็บ และกำลังได้รับการบำรุงรักษาอย่างแข็งขัน
Mottie

0

หากคุณเข้าสู่ 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 });

ฉันต้องการตัวเลือกนี้ แต่ดูเหมือนว่าจะทำงานแบบสุ่มมากขึ้นหรือน้อยลง: หากข้อมูลไม่ถูกโหลดก่อนที่ userscript จะทำงาน (เช่นรายชื่อไฟล์จากนั้นคลิกเพื่อเปิดไฟล์) มันไม่ทำงาน
สิบ

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

-6

หากเป็นตัวเลือกสำหรับโครงการที่คุณกำลังดำเนินการการแก้ไขโปรแกรมแก้ไขของคุณเพื่อใช้งานแท็บเนื่องจากช่องว่างจะช่วยแก้ไขปัญหาได้

ตัวอย่างเช่นใน Visual Studio Code การกำหนดค่าจะมีลักษณะดังนี้:

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

ในประเสริฐมันคือ:

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

จนกระทั่งเมื่อเร็ว ๆ นี้ฉันยืนยันในแท็บที่ไม่มีระยะห่าง หลังจากเปลี่ยนแล้วมันทำให้ Github แสดงผลแปลกและฉันไม่ได้สังเกตเห็นข้อเสียที่สำคัญในกระบวนการทำงานของฉัน


-20

ทางออกที่ดีที่สุดคือถ้าเป็นไปได้เพื่อโน้มน้าวให้ผู้ดูแลระบบของซอร์สโค้ดที่คุณกำลังมองหาเพื่อแทนที่แท็บทั้งหมดด้วยจำนวนช่องว่างที่ถูกต้อง

การใช้แท็บเป็นปัญหาในรหัสในปัจจุบันเนื่องจากคุณมักจะเห็นมันบนเว็บซึ่งการตัดสินใจของ "จำนวนช่องว่างต่อแท็บ" นั้นขึ้นอยู่กับตำแหน่งที่แสดง


7
นี่เป็นคำตอบที่ถูกต้องและไม่สมควรที่จะถูกลดระดับลง มีซอฟต์แวร์มากเกินไปที่จะไม่อนุญาตให้คุณเปลี่ยนความกว้างของแท็บสำหรับ "แท็บที่กำหนดค่าได้" เป็นสิ่งอื่นนอกเหนือจากความคิดนึกคิด และถ้าคุณเยื้องสิ่งใด ๆ ในระยะห่างที่ไม่ใช่ความกว้างแท็บที่คุณต้องการตอนนี้คุณจะมีแท็บและช่องว่างผสมกันและการปรับขนาดแท็บจะไม่ทำงานอีกต่อไป
zwol

8
อ่านบทความ Wikipedia เกี่ยวกับแหล่งที่มาของแท็บ 8 space “ ขนาดแท็บแนวนอนทั่วไปของตัวละครแปดตัวมีการพัฒนาแม้ว่าตัวละครห้าตัวจะครึ่งนิ้วและย่อหน้าโดยทั่วไปของเวลาเพราะพลังของสองมันง่ายต่อการคำนวณในไบนารีสำหรับอุปกรณ์อิเล็กทรอนิกส์ดิจิตอลที่มี จำกัด ” คำตอบของคุณใช้การใช้เหตุผลแบบวงกลม (เช่นมาตรฐานคือแปดตัวอักษรเพราะนั่นคือมาตรฐาน) เพื่อปิดประตูคำถาม ผู้ถามไม่พอใจมาตรฐานนี้และมีเหตุผลเพียงเล็กน้อย
Adam

4
@mrjedmao ?ts=4มันไม่ที่คุณสามารถทำได้
Ben

5
ฉันชอบแท็บมากกว่าพื้นที่เนื่องจากความเร็วในการแก้ไขของฉันระหว่าง 4 และ 8 ครั้งเมื่อฉันเลื่อนเคอร์เซอร์ข้ามช่องว่าง

4
"ยกเว้นคนที่จ่ายเงินให้นักพัฒนาใช่มั้ย" IDE ในสมองของคุณใช้คุณสมบัติแบบบรรทัดต่อบรรทัดเพื่อข้ามประโยคต่อไปนี้หรือไม่? ฉันระบุไว้อย่างชัดเจนว่าอนุสัญญาที่บังคับใช้ของโครงการมีความสำคัญมากกว่าการตั้งค่าส่วนบุคคล || "ทำไมคุณถึงทำเช่นนั้นกับตัวคุณเองเมื่อบรรณาธิการทุกคนมีคุณสมบัติแบบทีละคำ / ฟิลด์ / บรรทัด" ใช่คุณหมายถึงการใช้คุณสมบัติของเครื่องมือแก้ไขการนำทางรหัสง่ายกว่าการกดปุ่มเดียวเพื่อสำรวจทั้งคอลัมน์ นอกจากนี้ผู้แก้ไขบางคนไม่ได้กล่าวคุณสมบัติและบางคนก็ใช้งานได้แตกต่างกัน หยุดคิดว่าทั้งโลกใช้ Sublime
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.