Acerca de la navegación de código en GitHub
La navegación de código te ayuda a leer, navegar y entender el código al mostrarte y enlazar las definiciones de una entidad nombrada que corresponda a la referencia de la misma, así como mostrando referencias que corresponden a la definición de dicha entidad.
La navegación de código utiliza la librería de código abierto tree-sitter
. Los siguientes lenguajes y estrategias de navegación son compatibles:
Lenguaje | Navegación de código basada en búsquedas | Navegación de código precisa |
---|---|---|
C# | ✅ | |
CodeQL | ✅ | |
Elixir | ✅ | |
Go | ✅ | |
Java | ✅ | |
JavaScript | ✅ | |
PHP | ✅ | |
Python | ✅ | ✅ |
Ruby | ✅ | |
TypeScript | ✅ |
No necesitas configurar nada en tu repositorio para habilitar la navegación de código. Extraeremos información de navegación de código precisa y basada en búsquedas automáticamente para estos lenguajes compatibles en todos los repositorios y puedes cambiar entre estos dos acercamientos compatibles de navegación de código si tu lenguaje de programación es compatible con ambos.
GitHub ha desarrollado dos acercamientos de navegación de código con base en las librerías de código abierto tree-sitter
y stack-graphs
:
- Basada en búsqueda - busca todas las definiciones y referencias en un repositorio para encontrar entidades con un nombre determinado
- Preciso - resuelve las definiciones y referencias con base en el conjunto de clases, funciones y definiciones importadas en algún punto específico de tu código
Para aprender más sobre estos acercamientos, consulta la sección "Navegación precisa y basada en búsquedas".
Los lanzamientos de características agregarán navegación de código precisa para más lenguajes, lo cual es un acercamiento de navegación de código que puede otorgar resultados más exactos.
Saltar a la definición de una función o método
Puedes saltar a una definición de función o de método dentro del mismo repositorio si das clic en la llamada a dicha función o método dentro de un archivo.
Buscar todas las referencias de una función o método
Puedes encontrar todas las referencias para una función o método dentro del mismo repositorio si das clic en el llamado a dicha función o método en un archivo y posteriormente das clic en la pestaña de Referencias.
Navegación precisa y basada en búsqueda
Alugnos lenguajes que son compatibles con GitHub tienen acceso a la navegación de código precisa, la cual utiliza un algoritmo (basado en la librería de código abierto stack-graphs
) que resuelve las definiciones y referencias con base en el conjunto de clases, funciones y definiciones importadas que son visibles en cualquier punto de tu código. Otros lenguajes utilizan la navegación de código basada en búsquedas, la cual busca todas las definiciones y referencias a lo largo de un repositorio para encontrar entidades con un nombre específico. Ambas estrategias son efectivas para encontrar resultados y ambas se aseguran de evitar resultados inadecuados, tales como los comentarios, pero la navegación de código precisa puede arrojar resultados más exactos, especialmente cuando un repositorio contiene métodos múltiples o funciones con el mismo nombre.
Si no ves los resultados que esperas de una consulta de navegación de código precisa, puedes hacer clic en el enlace de "basada en búsqueda" en el mensaje emergente que se muestra para realizar una navegación basada en búsqueda.
Si tus resultados precisos te parecen inexactos, puedes enviar una solicitud de soporte.
Solución de problemas en la navegación de código
Si se habilitó la navegación de código pero no ves los enlaces a las definiciones de las funciones y métodos:
- La navegación de código solo funciona para las ramas activas. Sube a la rama e intenta de nuevo.
- La navegación de código funciona únicamente para los repositorios que tienen menos de 100,000 archivos.