Lista de métodos en Visual Studio Code

278

Recientemente comencé a usar el editor de Visual Studio Code. Realmente me encanta, pero hay una característica crítica (para mí) que no he podido encontrar. ¿Existe una lista de métodos, similar al navegador en NetBeans o al menú desplegable de miembros en Visual Studio?

Jim Carr
fuente
Esta característica faltante se está rastreando en github.com/Microsoft/vscode/issues/5605
foz

Respuestas:

266

Sí, ahí está el workbench.action.gotoSymbolcomando. En Windows y Linux está configurado en CTRL+ Shift+ Ode forma predeterminada.

Si este comando no está disponible para los tipos de archivo con los que está trabajando, debería echar un vistazo a las extensiones VSCode . No todos los idiomas admiten esta función.

Wosi
fuente
44
Hmm, no el comportamiento que esperaba. Intenté un par de tipos de archivos: en un archivo C ++, dice "Desafortunadamente no tenemos información de símbolos para el archivo" y en Python dice "Hubo un error en la extensión de Python".
Jim Carr
Bueno, dang, parece que no tengo suerte. Intenté una extensión diferente de Python, ahora recibo el error "sin información de símbolo". :( Gracias por la información, sin embargo.
Jim Carr
66
Esto es símbolos para PHP .
ariefbayu
Funciona muy bien en JavaScript, el acceso directo puede ser diferente cuando se usan otros mapas de teclas de acceso directo
Ray1618
39
Además de esto, si presiona :después Ctrl+ Shift + O, los resultados se agruparán por tipo, que enumerará todas las funciones en una sublista.
Aditya Vikas Devarapalli
184

Actualización : como se indicó en los comentarios de @ jeff-xiao, esta extensión está en desuso y ahora es una característica integrada del código de Visual Studio . Debería estar disponible en la parte inferior del explorador de archivos como vista "Esquema".

Texto anterior: ahora hay una extensión que admite esto. El esquema de código crea un panel en la sección "Explorador" y para JavaScript, enumerará las variables y funciones en un archivo. He estado usando esto por un tiempo y rasca la picazón que tenía. Otros comentaristas han mencionado que es compatible con Python y PHP.

Todavía parece estar en desarrollo, pero no he tenido ningún problema. Versión de desarrollo disponible en GitHub . Si eres el autor que lee esto, ¡gracias!

Así es como se ve:
Complemento de esquema de código para VSCode

Si el esquema del código no está visible, puede mostrarlo de la siguiente manera: ingrese la descripción de la imagen aquí

Stuart Brock
fuente
44
Buena decisión, funciona bien con JavaScript y no busca atajos de teclado ocultos, agradable.
Julian Knight
66
La extensión está en desuso: DEPRECATED. Utilice la vista de esquema que viene con Visual Studio Code.
Xiao
¿Estoy en lo cierto que no admite ver todos los métodos de una clase en Python?
Eric Auld
Supongo que a veces la vista de esquema no muestra nada para los archivos de Python.
nurp
¿Existe tal opción para C ++?
Dikla
118

Invocar el Go to symbolcomando del código :

  • macOS: cmd+ shift+ o(la letra o, no cero)

  • Windows / Linux: ctrl+ shift+o

Si escribe dos puntos ( :) después de invocar Go to symbol, los símbolos se agruparán por tipo (clases, interfaces, métodos, propiedades, variables). Luego solo desplácese a la methodssección.

Yiling
fuente
3
Confirmó que también funciona en PHP, pero tenga en cuenta que tengo instalado el complemento intellisense de PHP. No sé si hace alguna diferencia.
Ignacio Segura
Debe haber una manera fácil de ver los métodos. Es una molestia desplazarse por la lista de un montón de otras cosas para encontrar la sección de métodos. Alguien debería hacer un complemento para hacerlo si no es posible de otra manera.
orden
1
escriba @ en lugar de: para la lista de funciones Go
Altimac
1
Si no funciona para PHP, asegúrese de tener el complemento 'Símbolos PHP' y funcionará con seguridad.
Neeraj Singh
17

En VSCode 1.24 puedes hacer eso.

Haga clic derecho EXPLORERen la barra lateral y marque Outline.

Hossein
fuente
1
¡No puedo explorar los métodos de una clase js usando el esquema!
Leyendas
funciona bien para Java! Estoy usando la versión actualizada de vscode 2020
oshan2csd
15

ACTUALIZACIÓN: las funciones de extensión ahora están integradas y la extensión en sí misma ahora está en desuso

He encontrado esta extensión: esquema del código . Así es como esto luce:


Así es como esto luce


Creo que eso es lo que has estado buscando.

ddsultan
fuente
1
Esta extensión ya no existe. Creo que no se ha publicado porque la función ahora está integrada en VSCode.
Gama11
13

Hoy no existe tal característica, el CTRL+ SHIFT+ O== CTRL+ P@ no funciona para todos los idiomas.

Como último recurso, puede usar el panel de búsqueda, aunque no es tan rápido y fácil de usar como quisiera, puede ingresar esta expresión regular en el panel de búsqueda para encontrar todas las funciones:

function\s([_A-Za-z0-9]+)\s*\(
Picard
fuente
5

Para usuarios de PHP :)

  1. Asegúrese de tener el complemento ' Símbolo de PHP ', entonces puede obtener todos los métodos y clases en la parte inferior de la barra lateral ' OUTLINE '.

  2. Presione ⌘ command+ ⇧ shift+ Oen "macOS" o Ctrl+ Shift+ Omientras usa "Windows"

CONTORNO: ingrese la descripción de la imagen aquí

@Símbolo: ingrese la descripción de la imagen aquí

Neeraj Singh
fuente
4

Es una parte adicional de la respuesta a esta pregunta aquí, pero pensé que podría ser útil. Como muchas personas mencionaron, Visual Studio Code tiene la parte OUTLINE que proporciona la capacidad de navegar a diferentes funciones y mostrarlas en el lateral.

También quería agregar que si marca la marca del cursor de seguimiento, resalta el nombre de la función en la vista de ESQUEMA, que es muy útil para explorar y ver en qué función se encuentra.

ingrese la descripción de la imagen aquí

Ahmad Ghadiri
fuente
4

El mercado de Visual Studio Code tiene una muy buena extensión llamada Ir al método para navegar solo por métodos en un archivo de código.

Presiona Ctrl+ Shift+ Py escribe el install extensionsy presiona enter

ingrese la descripción de la imagen aquí

Ahora escriba Add to methoden el cuadro de búsqueda del mercado de extensiones y presione Entrar.

ingrese la descripción de la imagen aquí

Haga clic installpara instalar la extensión.

El último paso es vincular un atajo de teclado al comando workbench.action.gotoMethodpara convertirlo en una verdadera productividad para un desarrollador.

RBT
fuente
3

En la versión 2020 de VSCode
Cmd+P

  • # - Encuentra el símbolo en los archivos
  • @ - Encuentra el símbolo dentro del archivo
  • @: - Agrupar símbolos dentro de un archivo

Símbolos en un archivo Código VS v1.44.0

maverickm
fuente
2
ctrl+shift+o // This should work for javascript files by default

Para PHP, instale la extensión PHP SYMBOLS

PARA PYTHON instale la extensión PYTHON

En Recargar, esto funcionará bien

Moh .S
fuente
2
También puede hacer Ctrl+Py escribir @: esto enumera todas las funciones / símbolos en el archivo. Y cuando escribe @function_namehace una búsqueda de cadena difusa en los símbolos.
Roopak A Nelliat
sí, una buena sugerencia ... pero sabes que requiere dos pasos, donde ctrl + shift + o es un solo paso. :)
Moh .S
1

CTRL+ F12( CMD+ F12para Mac): abre para mí todos los métodos y miembros de la clase PHP.

Alex Mazaltov
fuente
No funcionó, ¿estás seguro de que no estás usando ninguna extensión?
Mohammed Atif Sami
1

Hay un complemento llamado show functions que enumera todas las definiciones de funciones en un archivo. También le permite ordenar la función para que pueda buscarlos fácilmente.

BK0090
fuente
2
Un enlace a una solución es bienvenido, pero asegúrese de que su respuesta sea útil sin él: agregue contexto alrededor del enlace para que sus otros usuarios tengan una idea de qué es y por qué está allí, luego cite la parte más relevante de la página volver a vincular en caso de que la página de destino no esté disponible. Se pueden eliminar las respuestas que son poco más que un enlace.
Zoe
1

Para encontrar el método en todos los archivos, puede presionar CTRL + Py luego comenzar la búsqueda con#

ejemplo: #signin

ingrese la descripción de la imagen aquí

Hamed Naeemaei
fuente
0

Echa un vistazo al Show Functionscomplemento. Puede enumerar funciones, símbolos, marcadores por expresiones regulares configurables. Las expresiones regulares son un verdadero ahorro, especialmente cuando no está utilizando un lenguaje convencional y cuando CodeOutline no hace el trabajo. Es feo ver una ventana dividida con estas funciones (CodeOutline parece estar mejor integrado) pero al menos hay algo que usar

Ben
fuente