Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt

Use this file to discover all available pages before exploring further.

Guía de configuración del entorno de desarrollo de Windsurf

Descripción general

Los workspace de Windsurf dependen exclusivamente de herramientas de código abierto para compilar, realizar linting y depurar. Los componentes propietarios de Microsoft Visual Studio no pueden redistribuirse, por lo que integramos servidores de lenguaje, depuradores y compiladores mantenidos por la comunidad. Esta guía cubre dos stacks:
  1. .NET / C# – compatible con .NET Core y .NET Framework (a través de Mono)
  2. C / C++ – usando tooling basado en clang
Puedes instalar uno o ambos en el mismo workspace.
⚠️ Importante: Los ejemplos a continuación son plantillas que debes personalizar para tu proyecto. Deberás editar rutas de archivos, nombres de proyectos y comandos de compilación para que coincidan con tu base de código.

1. Desarrollo en .NET / C#

Elige la variante que se ajuste a tu código.

.NET Core / .NET 6+

Extensiones:
  • C# (muhammad-sammy.csharp) – incluye OmniSharp LS y NetCoreDbg, para que puedas pulsar F5 de inmediato
  • .NET Install Tool (ms-dotnettools.vscode-dotnet-runtime) – instala automáticamente los runtimes/SDK que falten
  • Solution Explorer (fernandoescolar.vscode-solution-explorer) – navega y gestiona soluciones y proyectos de .NET
Depurador: No se requiere nada más: la extensión ya incluye el servidor de lenguaje y un depurador de código abierto adecuado para .NET Core. Compilación: dotnet build

.NET Framework con Mono

Extensiones:
  • Mono Debug (chrisatwindsurf.mono-debug) – adaptador de depuración para Mono (Open VSX)
  • C# (muhammad-sammy.csharp) para funciones del lenguaje
Depurador: También debes instalar la cadena de herramientas de Mono dentro del workspace. Sigue la guía de instalación en el repositorio de Mono. La extensión del depurador se conecta a ese runtime durante la depuración.
⚠️ Configuración de .NET Framework: Después de instalar Mono, para usar la extensión de C# con proyectos de .NET Framework, debes cambiar una configuración específica en los ajustes del IDE. Ve a Settings (en la sección de la extensión de C#) y desactiva “Omnisharp: Use Modern Net”. Esta configuración utiliza la compilación de OmniSharp para .NET 6, que ofrece mejoras de rendimiento significativas para proyectos de Framework con estilo SDK, .NET Core y .NET 5+. Ten en cuenta que esta versión no admite proyectos de .NET Framework sin estilo SDK, incluido Unity.
Compilación: mcs Program.cs

Configura tasks.json para tu proyecto

Debes crear o editar .vscode/tasks.json en la raíz de tu workspace y personalizar estas plantillas:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build-dotnet",
      "type": "shell",
      "command": "dotnet",
      "args": ["build", "YourProject.csproj"], // ← Editar esto
      "group": "build",
      "problemMatcher": "$msCompile"
    },
    {
      "label": "build-mono",
      "type": "shell",
      "command": "mcs",
      "args": ["YourProgram.cs"], // ← Editar esto
      "group": "build"
    }
  ]
}

Configurar launch.json para la depuración

Debes crear o editar .vscode/launch.json en la raíz de tu workspace y actualizar las rutas:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": ".NET Core Launch",
      "type": "coreclr",
      "request": "launch",
      "preLaunchTask": "build-dotnet",
      "program": "${workspaceFolder}/bin/Debug/net6.0/YourApp.dll", // ← Edita esta ruta
      "cwd": "${workspaceFolder}",
      "args": [] // Add command line arguments if needed
    },
    {
      "name": "Mono Launch",
      "type": "mono",
      "request": "launch",
      "preLaunchTask": "build-mono",
      "program": "${workspaceFolder}/YourProgram.exe", // ← Edit this path
      "cwd": "${workspaceFolder}"
    }
  ]
}

Equivalentes en la CLI

# .NET Core
$ dotnet build
$ dotnet run

# Mono / .NET Framework
$ mcs Program.cs
$ mono Program.exe

Limitaciones de .NET Framework

⚠️ Importante: Los proyectos de .NET Framework con ensamblados mixtos (C++/CLI) o dependencias complejas de Visual Studio tienen limitaciones significativas en Windsurf. Estos proyectos suelen requerir el sistema de compilación propietario de Visual Studio y no pueden compilarse ni depurarse por completo en Windsurf debido a su dependencia de herramientas específicas de Microsoft y de la resolución de referencias de ensamblados. Enfoques recomendados para proyectos de .NET Framework:
  • Usar Windsurf junto con Visual Studio para la generación y edición de código
  • Migrar las partes compatibles a .NET Core cuando sea posible

2. Desarrollo en C / C++

Extensiones requeridas:
ExtensiónPropósito
Windsurf C++ Tools (Codeium.windsurf-cpptools)Paquete con las tres extensiones recomendadas para empezar. Incluye soporte LSP para C/C++, depuración y soporte para CMake.
Nota: Al instalar el paquete Windsurf C++ Tools se instalarán automáticamente las extensiones individuales que se enumeran a continuación, por lo que solo necesitas instalar el paquete.
ExtensiónPropósito
clangd (llvm-vs-code-extensions.vscode-clangd)Integración con el servidor de lenguaje clangd. Si clangd no está instalado, ofrecerá descargar el binario adecuado para tu plataforma.
CodeLLDB (vadimcn.vscode-lldb)Depurador nativo basado en LLDB para código C/C++ y Rust.
CMake Tools (ms-vscode.cmake-tools)Integración para configurar proyectos, compilar, probar y depurar proyectos basados en CMake.
Para flujos de trabajo que no usan CMake, puedes seguir invocando make, ninja, etc., mediante tareas personalizadas en tasks.json.

Configura tareas de compilación de C/C++

Crea o edita .vscode/tasks.json para tu proyecto de C/C++:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build-cpp",
      "type": "shell",
      "command": "clang++",
      "args": ["-g", "main.cpp", "-o", "main"], // ← Editar para tus archivos
      "group": "build",
      "problemMatcher": "$gcc"
    }
  ]
}

3. Notas y consideraciones

  • Solo código abierto – no aceptes ninguna solicitud para instalar herramientas propietarias de Microsoft; los contenedores de Windsurf no pueden incluirlas.
  • Contenedor vs host – los SDK y compiladores deben estar presentes dentro del contenedor del workspace de Windsurf.
  • Atajos de teclado
    • Ctrl/⌘ + Shift + B → compilar con la tarea de compilación activa
    • F5 → depurar con la configuración launch.json seleccionada

4. Lista de verificación de configuración

  • Instala las extensiones necesarias para tu stack de lenguajes
  • Crea y personaliza .vscode/tasks.json con los comandos de compilación de tu proyecto
  • Crea y personaliza .vscode/launch.json con las rutas correctas a tus ejecutables
  • Para Mono: instala el runtime y verifica mono --version
  • Actualiza las rutas de archivos, los nombres de proyectos y los argumentos de compilación para que coincidan con tu código base
  • Prueba tu configuración: presiona Ctrl/⌘ + Shift + B para compilar y luego F5 para depurar
💡 Consejo: Los archivos de configuración son específicos del proyecto. Deberás adaptar los ejemplos anteriores para cada workspace.