Respuestas:
El plegado se ha implementado y ahora se implementa desde Visual Studio Code versión 0.10.11 . Existen estos atajos de teclado disponibles:
Doblar pliega la región no plegada más interna en el cursor:
Desplegar despliega la región contraída en el cursor:
Fold All dobla todas las regiones en el editor:
Desplegar todo despliega todas las regiones en el editor:
Referencias: https://code.visualstudio.com/docs/getstarted/keybindings
F1
y tipo Fold o Despliegue
A partir de Visual Studio Code versión 1.12.0, abril de 2017, consulte la sección Edición básica> Plegado en los documentos.
Las claves predeterminadas son:
Doblar todo: CTRL+ K, CTRL+ 0(cero)
Nivel de plegado [n]: CTRL+ K, CTRL+ [n]*
Desplegar todo: CTRL+ K, CTRL+J
Región de plegado: CTRL+ K, CTRL+[
Región desplegada: CTRL+ K, CTRL+]
* Nivel de plegado: para plegar todas las clases excepto las más externas, prueba CTRL+ K, CTRL+1
Macs: uso en ⌘lugar de CTRL(gracias Prajeet)
ctrl+k,ctrl+num
solo funciona en números superiores a qwerty, no en el teclado numérico
El plegado de código por regiones ha llegado con v1.17. Plegable por regiones documentación . Y v1.19 y 1.23 .
[En general, se puede añadir un espacio, por ejemplo // region and // endregion
a //region and //endregion
y también se va a trabajar.]
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`
Importante: si no ve su idioma en la lista ::
Cada idioma también tiene fragmentos disponibles para los marcadores. Escriba '#' e invoque la finalización del código para verlos. Para configurar los marcadores de región para su idioma, póngase en contacto con el proveedor de extensión de idioma.
Escriba #
y luego Ctrl+ Spacepara ver los marcadores de región para cualquier idioma.
// region
y // endregion
no funcionan con VS Code versión 1.22 (sin embargo, no he probado versiones inferiores o superiores). Pero // #region
y // #endregion
funciona (tenga en cuenta el '#' y el espacio en ambos). De esta manera, ESLint (si está utilizando) no mostrará un error si la spaced-comment
regla está activada ( es decir, no está configurada en 'desactivada' o 0).
/* #region Foo Bar */
y/* #endregion */
//region
y //endregion
son para JavaScript.
<!-- #region --> elements <!-- #endregion -->
. Muestra el texto que sigue a la # región en la sección plegada. Se pliega correctamente desde la # región actual a la # región final correspondiente, incluso si hay otros anidados, al igual que los paréntesis en cualquier ecuación. Recuerda la configuración de plegado para regiones anidadas. Ctrl + k + Ctrl + [y Ctrl + k + Ctrl +] cerrar / abrir los pliegues correctamente en el cursor. (lo que me parece un poco al revés, pero qué pasa) ¡Grandes cosas!
Esta característica está disponible en la compilación estándar ahora. Para que aparezcan los controles de colapso / expansión, debe pasar el mouse sobre el área a la derecha de los números de línea como se muestra en esta captura de pantalla:
Debe agregar la configuración de usuario:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
Los accesos directos predeterminados para colapsar / extender son:
Ctrl+ Shift+ [: "Doblar"
Ctrl+ Shift+ Alt+ [: "Doblar todo"
Ctrl+ Shift+ ]: "Desplegar"
Ctrl+ Shift+ Alt+ ]: "Desplegar todo"
O vaya a keybindings.json y cambie como desee.
Por ejemplo:
{
"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"
usted escribió en [
lugar de ]
. Corrígeme si estoy equivocado.
Si ninguno de los accesos directos funciona (como para mí), como solución alternativa también puede abrir la paleta de comandos ( Ctrl+ 3o Ver -> Paleta de comandos ...) y escribir fold all
:
El colapso ahora es compatible con la versión 1.0 :
Accesos directos plegables del código fuente
Hay nuevas acciones de plegado para contraer regiones de código fuente en función de su nivel de plegado.
Hay acciones para doblar el nivel 1 ( Ctrl+ K Ctrl+ 1) al nivel 5 ( Ctrl+ K Ctrl+ 5). Para desplegar, use Desplegar todo ( Ctrl+ Shift+ Alt+ ]).
Las acciones de plegado de nivel no se aplican a la región que contiene el cursor actual.
Tuve un problema para encontrar el ]
botón en mi teclado (diseño noruego), y en mi caso fue el Å
botón. (O dos botones a la izquierda y uno hacia abajo a partir del botón de retroceso).
Con JavaScript:
//#region REGION_NAME
...code here
//#endregion
A partir de la versión 1.3.1 (2016-07-17), Block Collapse es mucho más conveniente.
Cualquier línea seguida por una línea sangrada tendrá un carácter '-' para permitir el colapso. Si el bloque está colapsado, será reemplazado por un carácter '+' que abrirá el bloque colapsado.
El ( Ctrl+ Shift+ Alt+ ]) seguirá afectando a todos los bloques, cerrando un nivel. Cada uso repetido cerró un nivel más. El ( Ctrl+ Shift+ Alt+ [) funciona de manera opuesta.
Hurra, el colapso del bloque finalmente funciona de manera útil.
No hay consejos técnicos aquí, solo ajustes simples de las preferencias de VsCode.
Logré mostrar controles de plegado de código siempre en VsCode yendo a Preferencias y buscando 'plegado'. Ahora solo seleccione para mostrar siempre estos controles. Esto funciona con el código de Typecript y HTML de plantillas en la solución Angular 8 con la que lo probé.
Esto se probó con VsCode Insiders 1.37.0 ejecutándose en un sistema operativo Windows 10.
v1.42 está agregando algunos refinamientos agradables a cómo se ven y funcionan los pliegues. Ver https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting :
Destacado de rango plegado
Los rangos plegados ahora son más fáciles de descubrir gracias a un color de fondo para todos los rangos plegados.
Color de resaltado del pliegue Tema: Oscuro +
La función está controlada por la configuración editor.foldingHighlight y el color se puede personalizar con el editor de color.foldBackground.
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
Refinamientos plegables
Shift + Click
en el indicador de plegado, primero solo se pliegan los rangos internos.Shift + Click
nuevamente (cuando todos los rangos internos ya están plegados) también se plegará el padre.Shift + Click
De nuevo se despliega todo.
Cuando utilice el comando Plegar (kb (
editor.fold
))] en un rango ya plegado, se plegará el siguiente rango padre desplegado.
En una Mac, es la tecla Comando RHS ⌘K, no la izquierda para los comandos de plegado de código.
De lo contrario la tecla Comando mano izquierda se eliminará la línea actual, ⌘K.
Esta característica ahora es compatible, desde Visual Studio Code 1.17 . Para plegar / contraer el bloque de código, simplemente agregue las etiquetas de región, como //#region my block name
y //#endregion
si está codificando en TypeScript / JavaScript.
Ejemplo:
Extensión VSCode: Nivel de plegado , una tecla plegada al nivel que desee.
Desearía que Visual Studio Code pudiera manejar:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
En este momento, Visual Studio Code simplemente lo ignora y no lo colapsará. Mientras tanto, Notepad ++ y PowerGUI manejan esto muy bien.
Actualización: acabo de notar una actualización para Visual Studio Code. ¡Esto ahora es compatible!
Nota: estos accesos directos solo funcionan como se espera si edita sus combinaciones de teclas.json
No estaba contento con los atajos predeterminados, quería que funcionaran de la siguiente manera:
Para configurarlo:
Preferences: Open Keyboard Shortcuts (JSON)
( Ctrl+ ⇧ Shift+ p)¿Ya tiene combinaciones de teclas personalizadas para plegar / desplegar? Entonces necesitarías reemplazarlos.
{
"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
respuesta de Michael Fulton tenía más sentido para mí.