มีช็อตคัตโค้ดรูปแบบสำหรับ Visual Studio หรือไม่


429

ในEclipseมีทางลัด, Ctrl+ Shift+ F, ที่เยื้องรหัสและแก้ไขความคิดเห็นและบรรทัดว่าง Visual Studio 2010 มีความเทียบเท่าหรือไม่


VS ทำชุดย่อยของ Eclipse VS ไม่แก้ไขบรรทัดว่างเปล่าหรือไม่แสดงความคิดเห็น เพื่อให้ได้ Enchilada ทั้งหมดคุณต้อง reSharper หรืออะไรทำนองนั้น
— John Henckel

เหตุใดจึงมีการติดแท็กด้วย Visual Studio 2010, Visual Studio 2010 และ Visual Studio 2013
— Peter Mortensen

คำตอบ:


734

Visual Studio พร้อมการผูกคีย์ C #

หากต้องการตอบคำถามเฉพาะใน C # คุณมีแนวโน้มที่จะใช้รูปแบบแป้นพิมพ์ C # ซึ่งจะใช้ปุ่มลัดเหล่านี้ตามค่าเริ่มต้น:

Ctrl+ E, Ctrl+ Dเพื่อจัดรูปแบบเอกสารทั้งหมด

Ctrl+ E, Ctrl+ Fเพื่อจัดรูปแบบส่วนที่เลือก

คุณสามารถเปลี่ยนสิ่งเหล่านี้ได้ในเมนูเครื่องมือ → ตัวเลือก → สภาพแวดล้อม → แป้นพิมพ์ (โดยเลือก "รูปแบบการจับคู่แป้นพิมพ์" ที่แตกต่างกันหรือเชื่อมโยงแต่ละคีย์เข้ากับคำสั่ง "Edit.FormatDocument" และ "Edit.FormatSelection")

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

Ctrl+ K+ D(เอกสารทั้งหมด)

Ctrl+ K+ F(ตัวเลือกเท่านั้น)

เพื่อหาที่ผูกที่สำคัญนำไปใช้ในคุณสำเนาของ Visual Studio ดูในเมนูแก้ไข → เมนูขั้นสูง - ปุ่มจะแสดงไปทางขวาของรายการเมนูเพื่อให้มันง่ายที่จะค้นพบสิ่งที่พวกเขาอยู่ในระบบของคุณ


(โปรดอย่าแก้ไขคำตอบนี้เพื่อเปลี่ยนการผูกกุญแจด้านบนเป็นสิ่งที่ระบบของคุณมี!)


1
การผูกทางลัดของฉันดูเหมือนจะแตกต่างกัน แต่ตำแหน่งของรายการเมนูช่วยได้แน่นอน ฉันต้องเล่นรอบกับตัวเลือกเหล่านั้น ...
— Soumya

2
นอกจากนี้ในเครื่องมือ> ตัวเลือกไปที่ตัวแก้ไขข้อความ> C #> การจัดรูปแบบและคุณสามารถควบคุมวิธีการจัดรูปแบบรหัส
— Jason Williams

61
ทางลัดเหล่านี้ (เริ่มต้นด้วย Ctrl + E) ใช้ได้สำหรับ Visual Studio 2005 และ 2008 เท่านั้น ใช้ทางลัด Ctrl + K + D และ Ctrl + K + F เพื่อให้เหมือนกันใน Visual Studio 2010 (ถ้าคุณใช้การกำหนดค่าเริ่มต้น)
— Jpsy

3
แน่นอน แต่เพื่อความชัดเจน: การตั้งค่า C # สำหรับ vs2010 ยังคงเป็นตามที่อธิบายไว้ในคำตอบของฉัน
— Jason Williams

นอกจากนี้ยังแก้ไขรหัสที่จู่ ๆ ก็รวมเป็นหนึ่งบรรทัดของรหัสเท่านั้น ฉันใช้ VS 2012.
— Flash3

108

Ctrl+ K+ D(เอกสารทั้งหมด)

Ctrl+ K+ F(ตัวเลือกเท่านั้น)


ฉันเพิ่งสังเกตเห็นว่าพวกเขาแตกต่างกัน เมื่อผมจัดรูปแบบเอกสารทั้งหมด ( Edit.FormatDocument) บางรหัสล้างยังเกิดขึ้นเช่นเราได้ตั้งไว้Add/remove braces for single-line control statements(คำอธิบายที่ไม่ดีจริงๆเพราะผู้ใช้มีความคิดสิ่งที่เกิดขึ้นเมื่อคุณเปิดใช้งานได้ ^^ ไม่ได้) เพื่อจัดรูปแบบเสมอเปลี่ยนแปลงไปif(foo) bar; if(foo) { bar; }การเรียกใช้งาน Edit.FormatSelection จะไม่เปลี่ยนแปลงสิ่งนั้น อาจเป็นข้อผิดพลาดก็จะรายงานหากฉันไม่พบอะไรเลย
— bugybunny

ตกลงฉันเพิ่งรู้ว่ามันเป็นไปไม่ได้ที่จะดำเนินการทุกการกระทำเนื่องจากการเลือกผู้ใช้สามารถเป็นอะไรก็ได้และไม่รวมวงเล็บเปิด / ปิดทั้งหมด ฯลฯ ฉันยังรายงานเพราะการกระทำบางอย่างควรจะทำได้
— bugybunny

33

ลองCtrl+ K+ D(อย่ายกCtrlกุญแจระหว่างนั้น)


2
คี่ CTRL + K + CTRL + D ใช้งานได้ (ปรากฏในแถบสถานะที่เป็นที่รู้จัก แต่ CTRL + K + D ไม่ได้และไม่ทำอะไรเลยอาจมีบางอย่างที่เกี่ยวข้องกับตัวแก้ไขโปรไฟล์ แต่ฉันจำไม่ได้ว่าตัวเลือกใด ฉันเลือก
— ปล้น

22

ได้คุณสามารถใช้ปุ่มลัดแบบสองเส้น ( Ctrl+ K, Ctrl+ Fหากคุณใช้รูปแบบทั่วไป) เพื่อจัดรูปแบบที่คุณเลือก

ตัวเลือกการจัดรูปแบบอื่น ๆ อยู่ภายใต้เมนูแก้ไข → ขั้นสูงและเช่นเดียวกับคำสั่ง Visual Studio ทั้งหมดคุณสามารถตั้งค่าฮ็อตคีย์ของคุณเองผ่านเมนูเครื่องมือ → ตัวเลือก → สภาพแวดล้อม → แป้นพิมพ์ (คำสั่งเลือกรูปแบบที่เรียกว่าEdit.FormatSelection)

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


2
หากโดย "ปิดเล็กน้อย" คุณหมายถึงการจัดฟันสำหรับคำสั่งบล็อกเริ่มต้นที่บรรทัดใหม่แสดงว่าไม่ใช่ปัญหา นั่นเป็นวิธีที่ฉันชอบ
— Soumya

นี่คือทางลัดเริ่มต้นสำหรับ Visual Studio 2010 สำหรับ VS 2005 และ 2008 ใช้ทางลัดเริ่มต้น Ctrl + E + D และ Ctrl + E + F
— Jpsy

มันจะจัดรูปแบบรหัสตามวิธีที่กำหนดโดยการตั้งค่าของคุณ - ค่าเริ่มต้นหากคุณไม่ได้กำหนดค่าให้ใช้เครื่องมือ»ตัวเลือก»ตัวแก้ไขข้อความ» CSS (สำหรับ VS 2012 อาจเป็นสิ่งที่คล้ายกันมากในรุ่นก่อนหน้านี้หากไม่เหมือนกัน .)
— โทมัส


10

เพื่อจัดตำแหน่งข้อความในรูปแบบที่เหมาะสม -

  • Ctrl+ K+ Dสำหรับหน้าส่วนหน้าเช่น.aspxหรือ.cshtml

  • Ctrl+ K+ Fสำหรับ.csหน้า

แต่สังเกตให้กดปุ่มทั้งหมดตามลำดับ ...




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