จะทำให้ Visual Studio ไม่ใส่ {ขึ้นบรรทัดใหม่ได้อย่างไร?


96

ถ้ามีโค้ดแบบนี้

if(true){

และฉันเพิ่ม

}

มันถูกเปลี่ยนเป็น

if (true)
{
}

แต่ฉันต้องการให้มันอยู่ในรูปแบบ

if (true) {
}

แม้ว่าฉันจะคัดลอกโค้ดที่มีifเช่นนี้ แต่ก็ถูกแปลงเป็นเวอร์ชันที่ยาวขึ้น

ป.ล. ฉันเข้าใจว่ามันเป็นมาตรฐาน C ++ และ C # เพื่อใช้เวอร์ชันที่ยาวขึ้น แต่ฉันมาจากมาตรฐานอื่นและฉันใช้เวอร์ชันที่สั้นกว่า

ฉันพนันได้เลยว่ามีตัวเลือกฟอร์แมตเตอร์บางตัวที่สามารถปิดหรือเปลี่ยนแปลงได้

คำตอบ:


141

ไปที่ Tools -> Options -> Text Editor -> C # -> Code Style -> Formatting-> New Lines

ที่นี่มีตัวเลือกมากมาย ลบการตรวจสอบตัวเลือกทั้งหมดที่นี่เพื่อไม่ใส่วงเล็บเปิดในบรรทัดใหม่

แก้ไข

ส่วนNew Line Options for expressionsนี้ไม่เกี่ยวข้องกับการวางโค้ดร่วมกับวงเล็บดังนั้นส่วนที่คุณไม่จำเป็นต้องสัมผัส


9
+1 ขอบคุณครับ. อย่างไรก็ตามเมื่อฉันปิดสิ่งเหล่านี้และจากนั้นก็จงใจใส่วงเล็บปีกกาบนบรรทัดใหม่มันจะย้ายกลับไปที่บรรทัดเดิม :( มีวิธีหยุดการแทรกแซงในสิ่งที่ฉันไม่ได้ขอให้มันเล่นกลด้วยหรือไม่?
Reversed Engineer

28
สัตว์ประหลาดตัวใดที่จะเปิดใช้งานสายใหม่โดยค่าเริ่มต้น
Fueled By Coffee

ฉันใช้การแสดงตัวอย่าง VS2019 และฉันต้องทำการเปลี่ยนแปลงจากนั้นออกจาก Visual Studio โดยสมบูรณ์แล้วเปิดใหม่เพื่อให้การเปลี่ยนแปลงมีผล ถ้าฉันเพิ่งเปลี่ยนแล้วพยายามฟอร์แมตเอกสารใหม่มันจะรีเซ็ตเป็นการตั้งค่าก่อนหน้า
Bernard

สำหรับ Visual Studio Code ไปที่ File -> Preferences -> Settings และภายใต้ Extensions ให้เลือกภาษาที่คุณต้องการเปลี่ยนคุณสมบัติ ค้นหา Clang_format_fallback Style(เช่น: สำหรับ C ++ C_Cpp: Clang_format_fallback Style) และเปลี่ยนค่าจากVisual Studioเป็นGoogle
Riccardo Bonesi

ขอบคุณ! นี่เป็นหนึ่งในคุณสมบัติที่ทำให้เกิดความโกรธมากที่สุดของ Visual Studio for Unity
SacWebDeveloper

28

โปรดทราบว่าหากคุณใช้ Resharper ขั้นตอนข้างต้นจะไม่ช่วยได้เนื่องจาก Resharper จะลบล้างพฤติกรรม VS ดั้งเดิม หากเป็นเช่นนั้นให้ไปที่ Resharper> Options, Code Editing> C #> Formatting Style> Braces Layout ตั้งค่าตัวเลือก "Braces Layout" ด้านบนทั้งหมดเป็น "At end of line (K&R style)"

ฉันใช้เวลาพอสมควรในการคิดออกดังนั้นฉันหวังว่ามันจะช่วยใครสักคนได้


10

สำหรับผู้ใช้ Mac ทั้งหมดนี่คือวิธีที่ฉันแก้ไข:

การตั้งค่า -> ซอร์สโค้ด -> การจัดรูปแบบโค้ด -> ซอร์สโค้ด C # -> รูปแบบ C # -> แก้ไข

คุณสามารถเปลี่ยนได้ภายใต้หมวดหมู่: เส้นใหม่

ตัวอย่างภาพ



8

คุณสามารถเปลี่ยนแปลงได้ในตัวเลือกของ Visual Studio ของคุณ ไปที่ Tools -> Options -> Text Editor -> C # -> formatting -> new lines (หรืออะไรที่คล้ายกันฉันมี Visual Studio เวอร์ชันภาษาเยอรมันเท่านั้น) จากนั้นคุณสามารถเปลี่ยนตำแหน่งที่คุณต้องการใส่วงเล็บในบรรทัดถัดไปและตำแหน่งที่คุณไม่ต้องการได้ โดยส่วนตัวฉันลบตัวเลือกทั้งหมดออก แต่ถ้าคุณต้องการมีบรรทัดใหม่เช่นในลูปมีตัวเลือกมากมายในการปรับแต่งสิ่งนี้


0

สำหรับ C ++ วิธีเดียวที่ฉันสามารถหลีกเลี่ยงการใส่ '{' VC ++ ในบรรทัดใหม่สำหรับเนมสเปซได้คือการยกเลิกการเลือกตัวเลือก "จัดรูปแบบบล็อกอัตโนมัติเมื่อฉันพิมพ์ a}":

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


-1

ในการทำสิ่งเดียวกันกับ CSS คุณต้องไปที่: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

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

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