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?



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.


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


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í


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.


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.


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.


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*\(

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í


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í


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.



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


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


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.


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.


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í


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.