Ghid de configurare a mediului de dezvoltare în Windsurf
Prezentare generală
- .NET / C# – vizând atât .NET Core, cât și .NET Framework (prin Mono)
- C / C++ – folosind tooling bazat pe clang
⚠️ Important: Exemplele de mai jos sunt șabloane pe care trebuie să le personalizezi pentru proiectul tău. Va trebui să editezi căile de fișiere, numele proiectelor și comenzile de build pentru a se potrivi cu baza ta de cod.
1. Dezvoltare .NET / C#
Alegeți varianta care corespunde codului vostru.
.NET Core / .NET 6+
-
C# (
muhammad-sammy.csharp
) – include pachetele OmniSharp LS și NetCoreDbg, astfel încât poți apăsa F5 imediat -
.NET Install Tool (
ms-dotnettools.vscode-dotnet-runtime
) – instalează automat runtime-urile/SDK-urile lipsă -
Solution Explorer (
fernandoescolar.vscode-solution-explorer
) – navighează și gestionează soluțiile și proiectele .NET
dotnet build
.NET Framework via Mono
- Mono Debug (
chrisatwindsurf.mono-debug
) – adaptor de depanare pentru Mono (Open VSX) - C# (
muhammad-sammy.csharp
) pentru funcționalități de limbaj
⚠️ Configurare .NET Framework: După instalarea Mono, pentru a utiliza extensia C# cu proiecte .NET Framework, trebuie să modificați o setare specifică în IDE Settings. Accesați Settings (în secțiunea C# Extension) și dezactivați „OmniSharp: Use Modern Net”. Această setare folosește build-ul OmniSharp pentru .NET 6, care oferă îmbunătățiri semnificative de performanță pentru proiectele de tip SDK‑style Framework, .NET Core și .NET 5+. Rețineți că această versiune nu acceptă proiectele .NET Framework non‑SDK‑style, inclusiv Unity.Build:
mcs Program.cs
Configurați tasks.json
pentru proiectul dvs.
.vscode/tasks.json
în rădăcina workspace‑ului și să personalizați aceste șabloane:
Configurează launch.json
pentru depanare
.vscode/launch.json
în rădăcina workspace-ului și să actualizezi căile:
Echivalente în CLI
Limitări ale .NET Framework
- Folosește Windsurf împreună cu Visual Studio pentru generarea și editarea codului
- Migrează părțile compatibile către .NET Core, acolo unde este posibil
2. Dezvoltare C / C++
Extensie | Scop |
---|---|
Windsurf C++ Tools (Codeium.windsurf-cpptools ) | Un pachet cu cele trei extensii recomandate pentru a începe. Include suport LSP pentru C/C++, suport de depanare și suport pentru CMake. |
Notă: Instalarea pachetului Windsurf C++ Tools va instala automat extensiile individuale listate mai jos, așadar trebuie doar să instalați pachetul.
Extensie | Scop |
---|---|
clangd (llvm-vs-code-extensions.vscode-clangd ) | Integrare cu serverul de limbaj clangd. Dacă clangd lipsește, vi se va propune descărcarea binarului potrivit pentru platforma dvs. |
CodeLLDB (vadimcn.vscode-lldb ) | Depanator nativ bazat pe LLDB pentru cod C/C++ și Rust. |
CMake Tools (ms-vscode.cmake-tools ) | Integrare pentru configurarea proiectului, build, testare și depanare pentru proiecte bazate pe CMake. |
make
, ninja
etc. prin ținte personalizate în tasks.json
.
Configurați sarcinile de build pentru C/C++
.vscode/tasks.json
pentru proiectul dvs. C/C++:
3. Note și atenționări
- Doar open‑source – refuzați orice solicitare de a instala instrumente Microsoft proprietare; containerele Windsurf nu le pot include.
- Container vs Host – SDK-urile și compilatoarele trebuie să fie prezente în containerul workspace-ului Windsurf.
- Scurtături de la tastatură
- Ctrl/⌘ + Shift + B → compilează folosind task-ul de build activ
- F5 → depanează folosind configurația
launch.json
selectată
4. Listă de verificare pentru configurare
- Instalează extensiile necesare pentru stackul tău de limbaj
- Creează și personalizează
.vscode/tasks.json
cu comenzile de build ale proiectului tău - Creează și personalizează
.vscode/launch.json
cu căile corecte către executabilele tale - Pentru Mono: instalează runtime-ul și verifică
mono --version
- Actualizează căile fișierelor, numele proiectelor și argumentele de build astfel încât să corespundă codului tău
- Testează configurarea: apasă Ctrl/⌘ + Shift + B pentru a face build, apoi F5 pentru a depana
💡 Sfat: Fișierele de configurare sunt specifice proiectului. Va trebui să adaptezi exemplele de mai sus pentru fiecare workspace.