ฉันจะพับหรือยุบส่วนของรหัสใน Visual Studio Code ได้อย่างไร
คุณสมบัตินี้รองรับหรือไม่
ฉันจะพับหรือยุบส่วนของรหัสใน Visual Studio Code ได้อย่างไร
คุณสมบัตินี้รองรับหรือไม่
คำตอบ:
พับได้ถูกรีดออกและจะดำเนินการตั้งแต่ตอนนี้ Visual Studio รหัสรุ่น 0.10.11 มีแป้นพิมพ์ลัดเหล่านี้:
พับส่วนที่ไม่ได้ย่อส่วนสุดที่เคอร์เซอร์:
เปิดแฉ่บริเวณที่ยุบตัวที่เคอร์เซอร์:
พับทั้งหมดพับทั้งหมดของภูมิภาคในเครื่องมือแก้ไข:
เปิดออกทั้งหมดแผ่ออกทุกภูมิภาคในเครื่องมือแก้ไข:
ข้อมูลอ้างอิง: https://code.visualstudio.com/docs/getstarted/keybindings
F1
และพิมพ์Fold or Unfold
ในฐานะของรหัส Visual Studio รุ่น 1.12.0, เมษายน 2017 ดูการแก้ไขพื้นฐาน>ส่วนการพับในเอกสาร
ปุ่มเริ่มต้นคือ:
พับทั้งหมด: CTRL+ K, CTRL+ 0(ศูนย์)
ระดับการพับ [n]: CTRL+ K, CTRL+ [n]*
เปิดทั้งหมด: CTRL+ K, CTRL+J
ภูมิภาคพับ: CTRL+ K, CTRL+[
แฉภาค: CTRL+ K, CTRL+]
* ระดับการพับ: เพื่อพับทั้งหมดยกเว้นคลาสที่อยู่ด้านนอกส่วนใหญ่ให้ลองCTRL+ K, CTRL+1
Macs: ใช้⌘แทนCTRL(ขอบคุณ Prajeet)
ctrl+k,ctrl+num
อย่างใช้ได้กับตัวเลขที่สูงกว่า qwerty ที่ไม่ใช่ใน numpad
การพับรหัสตาม ภูมิภาคมาถึงด้วย v1.17 พับเอกสารภูมิภาค และv1.19และ1.23
[โดยทั่วไปคุณสามารถเพิ่มพื้นที่เช่น// region and // endregion
ไป//region and //endregion
และมันก็ยังจะทำงาน.]
TypeScript/JavaScript: //#region and //#endregion or // #region and // #endregion
C#: #region and #endregion
C/C++: #pragma region and #pragma endregion
F#: //#region and //#endregion
PowerShell: #region and #endregion
Python: #region and #endregion
VB: #Region and #End Region
PHP: #region and #endregion
Bat: ::#region and ::#endregion or REM #region and REM #endregion
Markdown: <!-- #region --> and <!-- #endregion -->
Golang //region and //endregion or //#region and //#endregion
Java //#region and //#endregion
CSS/SCSS/Less: /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less: // #region and // #endregion
Go: // region, // endregion and // #region, // #endregion
shellscript: # region and # endregion
Perl5 #region and #endregion or =pod and =cut`
สำคัญ: หากคุณไม่เห็นภาษาของคุณในรายการ ::
แต่ละภาษายังมีตัวอย่างสำหรับเครื่องหมาย พิมพ์ '#' และเรียกใช้การเติมโค้ดให้สมบูรณ์เพื่อดู หากต้องการกำหนดเครื่องหมายภูมิภาคให้กับภาษาของคุณให้ติดต่อผู้ให้บริการส่วนขยายภาษา
ดังนั้นพิมพ์#
และกดCtrl+ Spaceเพื่อดูเครื่องหมายภูมิภาคสำหรับภาษาใด ๆ
// region
และ// endregion
ไม่ทำงานกับ VS Code เวอร์ชัน 1.22 (ยังไม่ได้ทดสอบเวอร์ชันด้านล่างหรือสูงกว่านั้น) แต่// #region
และใช้// #endregion
งานได้ (หมายเหตุ '#' และพื้นที่ทั้งคู่) วิธีนี้ ESLint (ถ้าคุณใช้) จะไม่แสดงข้อผิดพลาดหากspaced-comment
กฎเปิดอยู่ (เช่นไม่ได้ตั้งค่าเป็น 'ปิด' หรือ 0)
/* #region Foo Bar */
และ/* #endregion */
//region
และ//endregion
สำหรับ JavaScript
<!-- #region --> elements <!-- #endregion -->
. จะแสดงข้อความตาม #region ในส่วนที่พับ มันจะพับจาก #region ปัจจุบันไปยัง #endregion ที่เกี่ยวข้องได้อย่างเหมาะสมแม้ว่าจะมีซ้อนกันอยู่ก็ตาม - เช่นเดียวกับวงเล็บในสมการใด ๆ มันจดจำการตั้งค่าการพับสำหรับภูมิภาคที่ซ้อนกัน Ctrl + k + Ctrl + [และ Ctrl + k + Ctrl +] ปิด / เปิดการพับที่เคอร์เซอร์อย่างถูกต้อง (ซึ่งดูเหมือนจะย้อนกลับไปเล็กน้อยสำหรับฉัน แต่ whatevah) สิ่งที่ยอดเยี่ยม!
คุณลักษณะนี้มีอยู่ในบิลด์มาตรฐานตอนนี้ ในการทำให้ตัวควบคุมการยุบ / ขยายปรากฏขึ้นคุณต้องวางเมาส์เหนือพื้นที่ทางด้านขวาของหมายเลขบรรทัดดังที่แสดงในภาพหน้าจอนี้:
คุณควรเพิ่มการตั้งค่าผู้ใช้:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
ทางลัดเริ่มต้นสำหรับการยุบ / ขยายคือ:
Ctrl+ Shift+ [: "พับ"
Ctrl+ Shift+ Alt+ [: "พับทั้งหมด"
Ctrl+ Shift+ ]: "แฉ"
Ctrl+ Shift+ Alt+ ]: "คลายทั้งหมด"
หรือไปที่ keybindings.json และเปลี่ยนตามที่คุณต้องการ
ตัวอย่างเช่น:
{
"key": "cmd+k cmd+m",
"command": "editor.foldAll",
"when": "editorFocus"
},
{
"key": "cmd+m cmd+k",
"command": "editor.unfoldAll",
"when": "editorFocus"
},
ctrl+shift+alt+[ "Unfold all"
คุณเขียนแทน[
]
ถูกต้องฉันถ้าฉันผิด
หากไม่มีทางลัดใด ๆ ที่ทำงานได้ดี (เช่นสำหรับฉัน) คุณสามารถเปิดถาดคำสั่ง ( Ctrl+ 3หรือดู -> Command Palette ... ) และพิมพ์ในfold all
:
ctrl+ k+ 0: พับทุกระดับ (เนมสเปซ, คลาส, วิธี, บล็อก)
ctrl+ k+ 1: namspace
ctrl+ k+ 2: คลาส
ctrl+ k+ 3: วิธีการ
ctrl+ k+ 4: บล็อก
ctrl+ k+ [หรือ]: บล็อกเคอร์เซอร์ปัจจุบัน
ctrl+ k+ j: UnFold
รองรับการยุบในรีลีส 1.0 แล้ว :
ทางลัดการพับซอร์สโค้ด
มีการดำเนินการการพับใหม่เพื่อยุบพื้นที่ซอร์สโค้ดตามระดับการพับ
มีการกระทำที่จะพับระดับ 1 ( Ctrl+ K Ctrl+ 1) ถึงระดับ 5 ( Ctrl+ K Ctrl+ 5) หากต้องการตีแผ่ให้ใช้แฉทั้งหมด ( Ctrl+ Shift+ Alt+ ])
การดำเนินการการพับระดับไม่ได้ใช้กับภูมิภาคที่มีเคอร์เซอร์ปัจจุบัน
ฉันมีปัญหาในการค้นหา]
ปุ่มบนแป้นพิมพ์ของฉัน (รูปแบบนอร์เวย์) และในกรณีของฉันมันคือÅ
ปุ่ม (หรือสองปุ่มทางซ้ายและอีกหนึ่งปุ่มเริ่มจากปุ่ม Backspace)
ด้วย JavaScript:
//#region REGION_NAME
...code here
//#endregion
ในเวอร์ชั่น 1.3.1 (2016-07-17) Block Collapse นั้นสะดวกสบายกว่ามาก
บรรทัดใดก็ตามที่ตามด้วยบรรทัดที่เยื้องจะมีอักขระ '-' เพื่ออนุญาตการยุบ หากบล็อกถูกยุบก็จะถูกแทนที่ด้วยอักขระ '+' ที่จะเปิดบล็อกที่ถูกยุบ
(ที่Ctrl+ Shift+ Alt+ ]) จะยังคงส่งผลกระทบต่อบล็อคทั้งหมดปิดระดับหนึ่ง การใช้งานซ้ำแต่ละครั้งจะปิดอีกหนึ่งระดับ ( Ctrl+ Shift+ Alt+ [) ทำงานในทิศทางตรงกันข้าม
ไชโยบล็อกยุบในที่สุดก็ใช้งานได้อย่างมีประโยชน์
ไม่มีเคล็ดลับทางเทคนิคที่นี่เพียงปรับการตั้งค่าของ VsCode อย่างง่าย
ฉันจัดการเพื่อแสดงการควบคุมการพับโค้ดเสมอใน VsCode โดยไปที่การตั้งค่าและค้นหา 'การพับ' ตอนนี้เพียงเลือกที่จะแสดงการควบคุมเหล่านี้เสมอ สิ่งนี้ใช้ได้กับรหัส typescript และ HTML ของเทมเพลตในโซลูชัน Angular 8 ที่ฉันทดสอบด้วย
สิ่งนี้ถูกทดสอบกับ VsCode Insiders 1.37.0 ที่ทำงานบนระบบปฏิบัติการ Windows 10
v1.42 กำลังเพิ่มการปรับแต่งที่ดีให้กับการพับและฟังก์ชั่น ดูhttps://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting :
เน้นช่วงที่พับ
ตอนนี้ช่วงพับจะง่ายต่อการค้นพบด้วยสีพื้นหลังสำหรับทุกช่วงพับ
ธีมสีไฮไลท์พับ: เข้ม +
ฟีเจอร์นี้ควบคุมโดยการตั้งค่า editor.foldingHighlight และสีสามารถปรับแต่งได้ด้วย color editor.foldBackground
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
การปรับแต่งการพับ
Shift + Click
บนตัวบ่งชี้การพับก่อนพับช่วงภายในเท่านั้นShift + Click
อีกครั้ง (เมื่อช่วงภายในทั้งหมดถูกพับไว้แล้ว) ก็จะพับพาเรนต์Shift + Click
แผ่ออกทั้งหมดอีกครั้ง
เมื่อใช้คำสั่ง Fold (kb (
editor.fold
))] กับช่วงที่พับแล้วช่วงพาเรนต์ที่กางออกถัดไปจะถูกพับ
สำหรับ Mac มันคือคีย์คำสั่ง RHS ⌘Kไม่ใช่สำหรับคำสั่งการพับโค้ด
⌘Kมิฉะนั้นคำสั่งคีย์ซ้ายมือจะลบบรรทัดปัจจุบัน
คุณลักษณะนี้จะสนับสนุนในขณะนี้เนื่องจากVisual Studio รหัส 1.17 หากต้องการพับ / ยุบบล็อครหัสของคุณเพียงเพิ่มแท็กภูมิภาคเช่น//#region my block name
และ//#endregion
หากการเข้ารหัสใน TypeScript / JavaScript
ตัวอย่าง:
นามสกุล VSCode: ระดับการพับหนึ่งปุ่มจะพับได้ตามระดับที่คุณต้องการ
ฉันหวังว่า Visual Studio Code สามารถจัดการได้:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
ตอนนี้ Visual Studio Code จะไม่สนใจและจะไม่ยุบลงไป ในขณะเดียวกัน Notepad ++ และ PowerGUI ก็จัดการได้ดี
อัปเดต: ฉันเพิ่งสังเกตเห็นการอัปเดตสำหรับ Visual Studio Code ตอนนี้ได้รับการสนับสนุนแล้ว!
หมายเหตุ:ทางลัดเหล่านี้ใช้งานได้ตามที่คาดไว้หากคุณแก้ไข keybindings.json
ฉันไม่พอใจกับทางลัดเริ่มต้นฉันต้องการให้พวกเขาทำงานดังต่อไปนี้:
วิธีตั้งค่า:
Preferences: Open Keyboard Shortcuts (JSON)
( Ctrl+ ⇧ Shift+ p)มีปุ่มลัดที่กำหนดเองสำหรับการพับ / เปิดออกหรือยัง จากนั้นคุณจะต้องแทนที่พวกเขา
{
"key": "ctrl+alt+]",
"command": "editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+alt+[",
"command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+]",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+[",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
Fold Level
คำตอบของ Michael Fulton ทำให้ฉันเข้าใจได้ง่ายขึ้น