ปิดการจัดรูปแบบอัตโนมัติใน Visual Studio


140

ฉันเป็นคนเจ้าระเบียบในการเขียนโค้ดเลือกรูปแบบการจัดรูปแบบโค้ดของตัวเองมากกว่าการตั้งค่าเริ่มต้นของ Visual Studio ฉันได้ปิดตัวเลือกการจัดรูปแบบอัตโนมัติในเครื่องมือ / ตัวเลือก ในกรณีส่วนใหญ่ใช้งานได้

หลังจากใช้การปรับโครงสร้างภายในใด ๆ Visual Studio จะรวบรวมการตั้งค่าของฉันด้วยการตั้งค่าเริ่มต้น ฉันจะป้องกันไม่ให้ VS ทำเช่นนั้นได้อย่างไร


11
@ user1142958 ทุกๆสองสามเดือนในโครงการโอเพ่นซอร์สและทุกๆสองสามปีในการทำธุรกิจฉันเจอ Hotshot ที่ยืนยันว่าสไตล์ของเขา / เธอดีกว่ามาตรฐาน จากการวิจัยหลายปีพบว่ามาตรฐานการจัดรูปแบบช่วยเพิ่มความสามารถในการอ่านและบำรุงรักษาโค้ด เมื่อนักพัฒนาสร้างแนวทางที่ "ดีกว่า" ของตัวเองโดยทั่วไปก็มีแนวโน้มที่จะทิ้งนักพัฒนาคนอื่น ๆ ในทีม อ่านเป็นตัวอย่าง - woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfo นั่นคือข้อมูลที่ยอดเยี่ยมทั้งหมด แต่ฟอร์แมตเตอร์ในตัวของ Visual Studio นั้นเสียอย่างปฏิเสธไม่ได้ในบางกรณี (เช่นstackoverflow.com/questions/6459861/… ) ในกรณีเหล่านี้ฉันควรใช้ไหวพริบของมนุษย์เพื่อให้เป็นไปตามมาตรฐานที่ฉันเห็นว่าเหมาะสมแทนที่จะพึ่งพาความพยายามที่น่าเศร้าของ VS ในเรื่อง "สไตล์"
Dan Bechard

5
@senfo - VS .cshtml การจัดรูปแบบอัตโนมัติโดยเฉพาะอย่างยิ่งในแง่ของ Razor เสีย เห็นด้วยกับคุณในส่วนอื่น ๆ แต่นี่ไม่ใช่คุณสมบัติ - เป็นข้อบกพร่อง
รอส

5
เมื่อ "มาตรฐาน" ดูเหมือนแมวสองตัวต่อสู้กันบนแป้นพิมพ์ความสม่ำเสมอก็ไม่มีคุณธรรม เรียกฉันว่า hotshot แต่เวลาพิเศษในการสร้างรหัสให้ชัดเจนก็คุ้มค่า ประสบการณ์ของฉันสอดคล้องกันอย่างสมบูรณ์: ผู้คนที่หลงใหลในความสอดคล้องกันมากที่สุด (sic) ได้ส่งเสริมโค้ดที่อ่านไม่ได้มากที่สุดเท่าที่จะทำได้
Chris Fox

5
คนเจ้าระเบียบรหัสคือบุคคลที่ป้อนข้อความในการจัดรูปแบบที่ถูกต้องดังนั้นจึงไม่จำเป็นต้องจัดรูปแบบอัตโนมัติ (อาจเสีย)
Anders Lindén

คำตอบ:


107

ฉันมีปัญหานี้ขณะเขียน VB ในaspxเพจ

วิธีแก้ปัญหาคือไปที่ 'Tools> Options> Text Editor> Basic> VB Specific' และปิด 'Pretty Listing'


หมายเหตุ - ใน Visual Studio 2015 สามารถพบได้ที่:

เครื่องมือ> ตัวเลือก> ตัวแก้ไขข้อความ> พื้นฐาน> ขั้นสูง


ฉันหวังว่าฉันจะผูกช่องทำเครื่องหมายเหล่านี้กับคีย์สั้น ๆ ได้อย่างง่ายดาย
Mike de Klerk

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

56
ฉันจะหยุดชั่วคราวเพื่อชื่นชมความงามของการมีลำดับชั้นของต้นไม้ตัวเลือกที่จะไปtext editor -> basic -> advanced.. 'โอ้ใช่คุณต้องการส่วนขั้นสูง'? อยู่ภายใต้พื้นฐาน
fostandy

13
@fostandy ฉันรู้ว่าคุณคงรู้เรื่องนี้ แต่basicเป็นชื่อของภาษาไม่ใช่ส่วนของตัวเลือกเนื่องจาก C # แสดงอยู่ในนั้นด้วย
Lightfire228

33

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

ป้อนคำอธิบายภาพที่นี่


ไม่มีตัวเลือกนี้ใน VS2010 Premium ของฉัน
Maciej

2
แก้ไขใน VS2017
Doug Null

1
ไม่ได้แก้ไขปัญหา C ++ ของฉันใน VS 2013 และฉันแน่ใจว่ามันไม่ได้พังก่อนที่ฉันจะเปลี่ยนเครื่อง
CashCow

6

ในกรณีของฉันมันคือ ReSharper

ทดสอบว่า ReSharper

StackOverflow: ฉันจะปิดใช้งาน ReSharper ใน Visual Studio และเปิดใช้งานอีกครั้งได้อย่างไร

ป้องกัน ReSharper จากการฟอร์แมตโค้ด

StackOverflow: มีวิธีมาร์กอัปโค้ดเพื่อบอกให้ ReSharper ไม่ฟอร์แมตหรือไม่

อัปเดต

มันเป็น ReSharper ในตอนท้าย:

ป้อนคำอธิบายภาพที่นี่


2
ขอบคุณนี่ทำให้ฉันรู้สึกแย่
Simon Arnold

1
เห็นด้วยการจัดฟันมักจะผิดตำแหน่งเสมอและมันก็เหยียบรหัสด้วยรองเท้าบู๊ตหนัก ๆ ทุกครั้งที่คุณกดอัฒภาค ไม่เท่.
Contango

6

ตามคำแนะนำของ @TheMatrixRecoder ใช้เวลาหาฉันสักหน่อยดังนั้นอาจจะช่วยคนอื่นได้ ตัวเลือก VS 2017 สามารถพบได้ที่นี่

เลือกตัวเลือกเหล่านี้เพื่อป้องกันการจัดรูปแบบอัตโนมัติที่น่ารำคาญเมื่อคุณวางเครื่องหมายอัฒภาคหรือตีกลับที่ท้ายบรรทัด



3

ใน VS2017 คุณสามารถเปลี่ยนได้หลังจากเลือกภาษาการเข้ารหัสของคุณในเมนูการตั้งค่า มีตัวเลือกที่เรียกว่า "เส้นใหม่" ในเมนูย่อย "การจัดรูปแบบ"


3

การตั้งค่า VS2015 ที่ช่วยฉันป้องกันการฟอร์แมตอัตโนมัติ:

(และเครื่องมือ> ตัวเลือก> ตัวแก้ไขข้อความ> พื้นฐาน> ขั้นสูงเช่นเดียวกับที่Tango91แนะนำ)

ป้อนคำอธิบายภาพที่นี่


2

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


1
บางครั้งรูปแบบการเข้ารหัสไม่สามารถปรับแต่งได้ บางครั้งอาจไม่สอดคล้องกันโดยเจตนาเนื่องจากมีโครงการที่มีรูปแบบการเข้ารหัสที่ไม่สอดคล้องกันและต้องการให้เป็นไปตามรูปแบบการเขียนโค้ดของส่วนของโค้ดที่แก้ไข
Palec

2

ไม่สามารถปิดฟอร์แมตบนอัฒภาคหรือวงเล็บปีกกาปิดได้ ฉันพบว่ามันทำให้ไมโครซอฟท์โกรธมากพอที่จะบอกใครก็ได้ว่าจะฟอร์แมตโค้ดได้อย่างไร รหัสที่อ่านไม่ออกที่สุดที่ฉันเคยเห็นคือตอนทำงานที่นั่น

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

ความสม่ำเสมอเป็นเพียงคุณธรรมเมื่อนำไปสู่ผลลัพธ์ที่พึงปรารถนา นี่ไม่ใช่หนึ่ง


1

ทำตาม TOOLS-> OPTIONS-> Text Editor-> CSS-> การจัดรูปแบบเลือก "Compact Rules" และยกเลิกการเลือก "Hiearerchical indentation"


แก้ไขข้อความ -> CSS หรือ HTML -> แท็บ -> เยื้อง -> (o) ไม่มี
Bob Stein

1

อาจเป็นกรณีของ Clang Format ก่อนหน้านี้ไฟล์ทั้งหมดจะถูกจัดรูปแบบโดยอัตโนมัติในการบันทึกไฟล์และทำให้ฉันหมดแรง (สำหรับที่เก็บที่ไม่ได้เปิดใช้งาน Clang Format)

พฤติกรรมดังกล่าวจะหายไปหลังจากเปลี่ยน "Tools -> Option -> LLVM / Clang -> ClangFormat -> Format On Save -> Enable" เป็น False

รูปแบบ ClangFormat ในการบันทึก


1

ฉันรู้สึกโกรธทุกครั้งที่วางอะไรก็ได้ในไฟล์ cshtml ใน Visual Studio 2015, 2017 ฉันลองใช้การตั้งค่าที่แตกต่างกันและในที่สุดก็พบตัวเลือกที่เหมาะสม: ตัวเลือก => ตัวแก้ไขข้อความ => HTML => ขั้นสูง => วาง (รูปแบบบนการวาง) = > เท็จ ป้อนคำอธิบายภาพที่นี่


0

คุณสามารถปรับแต่งการตั้งค่าของการจัดรูปแบบโค้ด ฉันมักจะปิดตัวแบ่งบรรทัดพิเศษทั้งหมดจากนั้นมันก็ใช้ได้ดีกับวิธีที่ฉันจัดรูปแบบโค้ด

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


0

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

ด้วยวิธีนี้รหัสของคุณจะอัปเดตอยู่เสมอ แต่การเช็คอินของคุณจะเกี่ยวข้อง


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