เหตุใดฉันจึงได้รับแท็บและช่องว่างผสมในหน้าต่างโค้ด Visual Studio 2010 C #


88

ฉันเพิ่งทำงานกับไฟล์ C # (Global.asax.cs) ในเว็บแอปพลิเคชันในช่วงไม่กี่ชั่วโมงที่ผ่านมาและฉันได้รับข้อความแจ้งให้ "tabify" หรืออะไรก็ตามประมาณสี่ครั้ง ทุกครั้งที่ฉันเลือกที่จะจัดทำเป็นตารางและบันทึกไฟล์ แต่ในบางจุดที่ดูเหมือนสุ่มในภายหลังฉันได้รับการแจ้งเตือนอีกครั้ง

ฉันใช้ ReSharper แต่สิ่งนี้ไม่เกิดขึ้นเมื่อฉันเขียนโค้ดที่บ้านและใช้ ReSharper ด้วย เฉพาะในที่ทำงาน


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

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

12
@LostHobbit มันมีความสำคัญเพราะบทสนทนาที่น่ารำคาญยังคงโผล่ขึ้นมาและขัดขวางการไหลของฉัน
ProfK

คำตอบ:


146

คุณใช้ส่วนขยาย Productivity Power Tools VS 2010 หรือไม่ ถ้าเป็นเช่นนั้นให้ไปที่Tools-> Options-> Productivity Power Toolsและเลือก Fix Mixed Tabsที่นี่คุณสามารถปิดตัวเลือกในการ การดำเนินการนี้จะปิดคำเตือนนี้

เครื่องมือไฟฟ้าสำหรับ Visual Studio 2010

เครื่องมือไฟฟ้าสำหรับ Visual Studio 2012

เครื่องมือไฟฟ้าสำหรับ Visual Studio 2013

เครื่องมือไฟฟ้าสำหรับ Visual Studio 2015


20
ฉันอยากจะเก็บคำเตือนและกำจัดแท็บและช่องว่างแบบผสมแทน
ProfK

2
@ProfK จุดสุ่มที่คุณได้รับแจ้งอีกครั้งจะเกิดขึ้นหลังจากมีคนอื่นตรวจสอบการเปลี่ยนแปลงในไฟล์นี้หรือไม่ (หากคุณใช้การควบคุมแหล่งที่มา) บางทีคุณและคนอื่นอาจมีการกำหนดช่องว่างแท็บที่แตกต่างกันใน VS.
Justin Saraceno

7
ยากที่จะเห็นว่าสิ่งนี้มีประสิทธิผลอย่างไร ปิดแท็บด้วย Tools + Options, Text Editor พวกเขาถูกใช้ในศตวรรษก่อนเพื่อประหยัดไบต์
Hans Passant

6
@ ฮันประสิทธิภาพของการใช้แท็บไม่เกี่ยวข้องเลยที่นี่
ศ.

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

61

แท็บและช่องว่างแบบผสมอาจมาจากการตั้งค่าโปรแกรมแก้ไขข้อความ Visual Studio ของคุณ คุณสามารถตัดสินใจได้ว่าต้องการให้ Visual Studio แทรกช่องว่างหรือแท็บที่นี่:

Tools / Options / -> Text Editor / All Languages ​​/ Tabs เลือกตัวเลือก "Keep Tabs"


6
นี่เป็นคำตอบที่ถูกต้องสำหรับคำถามที่ถามและผลลัพธ์ที่ @ProfK ต้องการบรรลุ
Reality Extractor

11

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


9

Resharperใช้การตั้งค่าแท็บ / พื้นที่แยกกับสตูดิโอภาพ ในResharperตัวเลือกให้เลือก "รูปแบบตัวจัดรูปแบบทั่วไป -> วิธีการจัดแนวเมื่อใช้แท็บสำหรับการเยื้อง" การตั้งค่านี้ใช้เมื่อresharperเป็นการจัดรูปแบบโค้ด (เช่นการปรับโครงสร้างใหม่เป็นต้น) และใช้ค่าเริ่มต้นเป็น "User Spaces"

นอกจากนี้ในเมนู" แก้ไข -> ขั้นสูง " ยังมีตัวเลือก "ดูช่องว่าง" (Ctrl + E, S) ซึ่งอาจเป็นประโยชน์!


ตัวเลือกที่ดี (View Whitespace one)! +1
Ignacio Soler Garcia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.