คำสั่งให้ยุบทุกส่วนของรหัส?


1635

ใน Visual Studio มีคำสั่งให้ยุบ / ขยายส่วนทั้งหมดของรหัสในไฟล์หรือไม่?

คำตอบ:


3005

CTRL+ M+ Oจะยุบทั้งหมด

CTRL+ M+ Lจะขยายทั้งหมด (ใน VS 2013 - สลับการทำเค้าร่างทั้งหมด)

CTRL+ M+ Pจะขยายทั้งหมดและปิดการใช้งานเค้าร่าง

CTRL+ M+ Mจะยุบ / ขยายส่วนปัจจุบัน

CTRL+ M+ Aจะยุบทั้งหมดแม้ในไฟล์ Html

ตัวเลือกเหล่านี้ยังอยู่ในเมนูบริบทภายใต้การจัดเค้าร่าง

คลิกขวาในเครื่องมือแก้ไข -> การสรุปเพื่อค้นหาตัวเลือกทั้งหมด ( หลังจากปิดใช้งานการสรุปเค้าร่างใช้ขั้นตอนเดียวกันเพื่อเปิดใช้งานการสรุป )

คลิกขวา> เมนูเค้าร่าง


145
คุณยังสามารถคลิกขวาในเครื่องมือแก้ไขและเลือก: การสรุป -> สลับการจัดเค้าร่างทั้งหมด
LBushkin

25
ctrl + m ctrl + o คือ "ยุบไปยังคำจำกัดความ" ซึ่งไม่ทำงานเมื่อแก้ไขไฟล์ xml สำหรับฉัน ctrl + m ctrl + l ขยายทั้งหมดและยุบทั้งหมด (เป็นสลับ) แต่ไม่เสมอไป ฉันมีหนึ่งไฟล์ที่เปิดใช้งานและหนึ่งที่มันขยายทั้งหมด แต่ไม่ยุบทั้งหมด ทั้งคู่เป็นไฟล์ xml ไม่รู้ว่าทำไม
Matthijs Wessels

17
เพียงเพื่อแจ้งให้ทราบ (แม้ว่านี่จะค่อนข้างเก่า): ctrl + m + o จะพังเพียงแค่ฟังก์ชั่นทั้งหมดไม่ใช่คลาส ctrl + m + L จะสลับการขยายการยุบทุกอย่าง
paul23

14
สำหรับสิ่งที่คุ้มค่างานเหล่านี้ใน Visual Studio 2012 เช่นกัน
wjhguitarman

5
ใน VisualStudio 2013 ctrl + M + L สลับสถานะยุบ ctrol + M + O ไม่ได้ทำอะไรเลย (HTML VIEW)
Ayyash

171

การผสมคีย์ต่อไปนี้ใช้เพื่อทำสิ่งต่าง ๆ :

CTRL+ M+ M→ยุบ / ขยายพื้นที่ที่ตั้งไว้ปัจจุบัน (เช่นMethod)

CTRL+ M+ H→ยุบ / Hide (ขยาย) การเลือกปัจจุบัน

CTRL+ M+ O→ C ollapse ทั้งหมด (ยุบประกาศเนื้อหา)

CTRL+ M+ Aaจะยุบ

CTRL+ M+ X → E xpand ทั้งหมด

CTRL+ M+ L→ Togg le all

มีบางตัวเลือกในเมนูบริบทภายใต้การจัดเค้าร่าง


2
Ctrl-M, L คือสลับทั้งหมด แต่แน่นอน Ctrl-M และ Ctrl-M X เป็นคนที่ผมกำลังมองหา ...
เหลา

เป็นความคิดที่ดีมากที่จะจำได้ง่าย
Koray

110

CTL+ M+ Lขยายทั้งหมด

CTL+ M+ Oยุบทั้งหมด

ในบทความ MSDN "แป้นพิมพ์ลัดเริ่มต้นใน Visual Studio" ให้ดูส่วน"ตัวแก้ไขข้อความ"หากคุณกำลังมองหาทางลัดอื่น ๆ - ทั้งสองนี้เป็นเพียงส่วนหนึ่งของจำนวนที่มีอยู่


5
ในขณะที่ฉันแสดงความคิดเห็นในคำตอบด้านบน ctl + m + o ยุบเพื่อกำหนดซึ่งไม่ทำงานสำหรับไฟล์ xml ctl + m + l ควรสลับ แต่สำหรับฉันบางครั้งก็ทำและบางครั้งก็ไม่
Matthijs Wessels

หน้าปกติ crtl + m + o ยุบตัว JScript outling อยู่ด้านหลังสำหรับฉัน crtl + m + o ขยายและ crtl + M + l ขยาย
โยเกิร์ต The Wise

40

Ctrl+ Mขยายภูมิภาค

Ctrl+ Lภูมิภาคพังทลาย


แต่มันเป็นคำสั่งที่มีประโยชน์เฉพาะเมื่อใช้ส่วนขยาย js การสรุปและฉันมีไฟล์มากกว่า 1,000 บรรทัด js ทางลัดนี้เป็นโปรแกรมรักษา **!
Goran Obradovic

และทำงานเพื่อ XML! WOOO HOOO !! (+1 สำหรับเหตุผลทางเทคนิคอย่างหมดจดฉันยินดีจ่ายเงินให้คุณบางตัวแทน :) นี่จะเข้าสู่ cheatsheet ปกติของฉัน
Gishu

31
  • พับ / คลายบล็อกรหัสปัจจุบัน - Ctrl+ M, Ctrl+M
  • เปิดทั้งหมด - Ctrl+ M, Ctrl+L
  • หยุดการสรุป - Ctrl+ M, Ctrl+P
  • พับทั้งหมด - Ctrl+ M, Ctrl+O

26

ใน Visual Studio 2017 ดูเหมือนว่าพฤติกรรมนี้จะถูกปิดใช้งานตามค่าเริ่มต้น สามารถเปิดใช้งานได้ภายใต้เครื่องมือ> ตัวเลือก> ตัวแก้ไขข้อความ> C #> ขั้นสูง> การสรุป> "ยุบ #regions เมื่อยุบลงในคำจำกัดความ"



13

คุณกำลังอ้างอิงถึงการสลับการสรุปหรือไม่?

คุณสามารถทำได้: Control+ Mจากนั้นControl+ Lเพื่อสลับการจัดเค้าร่างทั้งหมด



11

ด้านล่างคือทุกสิ่งที่คุณต้องการ:

  • ยุบ / ขยายวิธีการปัจจุบัน

CTRL+ M+M

  • ยุบ / ขยายส่วนที่เลือกปัจจุบัน

CTRL+ M+H

  • ยุบทั้งหมด

CTRL+ M+O

CTRL+ M+A

  • ขยายทั้งหมด

CTRL+ M+X

CTRL+ M+L


10

หากคุณหมายถึงทางลัดแล้ว

CTRL+ M+ M: อันนี้จะยุบพื้นที่เคอร์เซอร์ของคุณอยู่ที่ไม่ว่าจะเป็นวิธีการ, namespace หรืออะไรก็ตามสำหรับการยุบบล็อกรหัสพื้นที่และวิธีการ แรกจะยุบเฉพาะบล็อก / วิธีหรือภูมิภาคเคอร์เซอร์ของคุณอยู่ที่ในขณะที่สองจะยุบพื้นที่ทั้งหมดที่คุณอยู่ที่

http://www.dev102.com/2008/05/06/11-more-visual-studio-shortcuts-you-should-know/




2

ในกรณีของการ ugrading Visual Studio 2010, 2012 2013 หรือในปี 2015 มีการขยาย Visual Studio เพื่อแสดงแป้นพิมพ์ลัดที่ลงทะเบียนในปัจจุบันIntelliCommand



2

สิ่งเหล่านี้ไม่เหมาะกับฉัน สิ่งที่ฉันพบได้ในการแก้ไข, ค้นหาไฟล์Keyboard Shortcuts editor.foldRecursivelyที่จะทำให้คุณมีผลผูกพันล่าสุด ในกรณีของฉันมันเป็นCMD+ K, +CMD[


ขอบคุณ นี่อาจเป็นทางลัดล่าสุดที่ใช้งานได้
codetinker


1

Visual Studio สามารถช่วยคุณค้นหาคำตอบสำหรับคำถามของคุณได้หลายวิธี

พิมพ์Ctrl+ Qเพื่อเข้าถึงQuick Launchจากนั้นป้อน "collap" เปิดใช้ด่วนจะแสดงผลดังนี้:

Menus (1)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
NuGet Packages (1)
    Search Online for NuGet Packages matching 'collap'

จากนั้นป้อน "การสรุป" เพื่อค้นหารายการเมนูอื่น ๆ ที่เกี่ยวข้องกับการสรุป:

Menus (5)
    Edit -> Outlining -> Toggle Outlining Expansion (Ctrl+M, Ctrl+M)
    Edit -> Outlining -> Toggle All Outlining (Ctrl+M, Ctrl+L)
    Edit -> Outlining -> Stop Outlining (Ctrl+M, Ctrl+P)
    Edit -> Outlining -> Stop Hiding Current (Ctrl+M, Ctrl+U)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
Options (4)
    Text Editor -> Basic -> VB Specific (Change outline mode, Automatic inser...
    ...

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

Tools -> Options -> Environment -> Keyboard

นี่จะแสดงส่วนแป้นพิมพ์ในกล่องโต้ตอบตัวเลือก ในกล่องข้อความ "แสดงคำสั่งที่มี" ให้ป้อน "edit.collap" Visual Studio จะแสดงรายการที่มีลักษณะดังนี้:

Edit.CollapseAllincurrentblock    
Edit.CollapseAllOutlining           Ctrl+M, Ctrl+A (Text Editor)
Edit.CollapseBlockcurrentblock
Edit.CollapseCurrentRegion          Ctrl+M, Ctrl+S (Text Editor)
Edit.CollapseTag                    Ctrl+M, Ctrl+T (Text Editor)
Edit.CollapsetoDefinitions          Ctrl+M, Ctrl+O (Text Editor)

คุณจะต้องคลิกแต่ละคำสั่งเพื่อดูแป้นพิมพ์ลัดที่เกี่ยวข้อง


ตัวอย่างของฉันนำมาจาก Visual Studio 2013


0

ใน Visual Studio 2019:

ไปที่เครื่องมือ> ตัวเลือก> คีย์บอร์ด

ค้นหาEdit.ToggleAllOutlining

ใช้ทางลัดที่ระบุไว้ที่นั่นหรือกำหนดทางลัดที่ต้องการ


-1

หากคุณต้องการcollapse/expandพื้นที่ภายในclass/method(แทนที่จะยุบทั้งหมดclass/method) คุณสามารถสร้างภูมิภาคที่กำหนดเองได้ดังต่อไปนี้:

 #region AnyNameforCollapsableRegion

 //Code to collapse

 #endregion 

การอ้างอิง


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