50% OFF Plus
--:--:--
¡Obtener!

Navegación código

Intermedio
VSCode
VSCode
Actualizado: 14/07/2025

¡Desbloquea el curso de VSCode completo!

IA
Ejercicios
Certificado
Entrar

Mira la lección en vídeo

Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.

Desbloquear Plan Plus

Navegar entre definiciones y referencias

La navegación entre definiciones y referencias constituye una de las funcionalidades más esenciales para comprender y trabajar eficientemente con código existente. Esta capacidad permite moverse rápidamente desde el uso de una función, variable o clase hasta su definición original, y viceversa, facilitando la comprensión del flujo de datos y la estructura del programa.

VSCode proporciona múltiples formas de navegar entre estos elementos, cada una optimizada para diferentes escenarios de trabajo. La diferencia fundamental radica en cómo se presenta la información: algunas opciones abren nuevas pestañas, mientras que otras muestran vistas previas inline que mantienen el contexto actual.

Go to Definition

La función Go to Definition (F12) representa la forma más directa de navegar desde el uso de un símbolo hasta su definición. Al posicionar el cursor sobre cualquier función, variable, clase o método y presionar F12, VSCode abre automáticamente el archivo correspondiente y posiciona el cursor exactamente en la línea donde se define ese elemento.

// Archivo: utils.js
export function calculateTotal(items) {
    return items.reduce((sum, item) => sum + item.price, 0);
}

// Archivo: main.js
import { calculateTotal } from './utils.js';

const items = [
    { name: 'Producto A', price: 25.99 },
    { name: 'Producto B', price: 15.50 }
];

// Posicionar cursor en 'calculateTotal' y presionar F12
// llevará directamente a la definición en utils.js
const total = calculateTotal(items);

Esta funcionalidad resulta especialmente útil cuando trabajas con proyectos grandes donde las definiciones pueden estar distribuidas en múltiples archivos y carpetas. VSCode utiliza el Language Server correspondiente al lenguaje para proporcionar navegación precisa, incluso en proyectos con dependencias complejas.

Peek Definition

Peek Definition (Alt+F12) ofrece una alternativa más sutil que mantiene el contexto actual. En lugar de abrir una nueva pestaña, esta función muestra la definición en una ventana emergente inline directamente en el editor actual.

# Archivo: models.py
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email
    
    def get_display_name(self):
        return f"{self.name} <{self.email}>"

# Archivo: views.py
from models import User

def create_user_profile(name, email):
    user = User(name, email)  # Alt+F12 aquí muestra la clase inline
    return user.get_display_name()

La ventana de Peek Definition permite editar directamente el código mostrado, lo que resulta conveniente para realizar modificaciones rápidas sin perder el contexto del archivo actual. Esta funcionalidad es particularmente valiosa durante la fase de exploración de código, cuando necesitas entender rápidamente qué hace una función sin interrumpir tu flujo de trabajo.

Go to References

La navegación hacia las referencias funciona en sentido inverso: desde una definición, permite encontrar todos los lugares donde se utiliza ese elemento. Go to References (Shift+F12) abre una vista que muestra todas las ubicaciones donde se referencia el símbolo actual.

// Definición original
public class DatabaseConnection {
    private String connectionString;
    
    public void connect() {  // Shift+F12 aquí mostrará todos los usos
        // Lógica de conexión
    }
}

// Referencias encontradas:
// - ServiceLayer.java:45
// - UserRepository.java:23  
// - ProductService.java:67

Esta funcionalidad es fundamental para análisis de impacto antes de realizar cambios. Permite identificar rápidamente qué partes del código se verían afectadas por modificaciones en una función o clase específica.

Find All References

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Find All References complementa la funcionalidad anterior proporcionando una vista más completa en el panel de resultados. A diferencia de Go to References, que muestra una vista emergente, Find All References presenta los resultados en el panel inferior, permitiendo una exploración más detallada de cada referencia.

interface ApiResponse<T> {
    data: T;
    status: number;
    message: string;
}

// Find All References mostrará:
// ├── api/users.ts:12 - function getUsers(): Promise<ApiResponse<User[]>>
// ├── api/products.ts:8 - function getProducts(): Promise<ApiResponse<Product[]>>
// └── services/http.ts:25 - private handleResponse<T>(response: ApiResponse<T>)

El panel de resultados permite filtrar y agrupar las referencias por archivo, facilitando la comprensión de cómo se distribuye el uso de un elemento específico a través del proyecto. Cada resultado es clickeable, permitiendo navegar directamente a la ubicación correspondiente.

Navegación contextual

VSCode también proporciona navegación contextual a través del menú que aparece al hacer clic derecho sobre cualquier símbolo. Este menú incluye opciones como "Go to Definition", "Peek Definition", "Go to References" y "Find All References", ofreciendo acceso rápido a todas las funcionalidades de navegación desde un único punto.

La navegación entre definiciones y referencias se integra perfectamente con otras funcionalidades del editor, como el historial de navegación y los breadcrumbs, creando un flujo de trabajo cohesivo para la exploración y comprensión del código. Esta integración permite moverse eficientemente a través de proyectos complejos manteniendo siempre el contexto necesario para el desarrollo productivo.

Aprendizajes de esta lección de VSCode

  • Comprender la importancia de navegar entre definiciones y referencias en un proyecto de código.
  • Aprender a utilizar la función Go to Definition para acceder rápidamente a la definición de un símbolo.
  • Conocer cómo usar Peek Definition para visualizar definiciones inline sin perder el contexto.
  • Entender el uso de Go to References y Find All References para localizar todos los usos de un elemento.
  • Familiarizarse con la navegación contextual y su integración en el flujo de trabajo en VSCode.

Completa este curso de VSCode y certifícate

Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración