::: info
Il segreto per eliminare le allucinazioni di Copilot risiede nella gestione del Context Window. Più il modello "conosce" la tua codebase, gli standard aziendali e le dipendenze del progetto, più il codice generato sarà production-ready.
:::
Copilot in VS Code utilizza degli "agenti" e dei "marker" per filtrare le informazioni da inviare all'LLM. Saperli usare trasforma una domanda vaga in una query ingegneristica.
| Comando | Nome | Scopo Tecnico |
|---|---|---|
| @workspace | Workspace Agent | Scansiona l'intero progetto, analizza la struttura delle cartelle e le relazioni tra i file. |
| #file | File Reference | Invia il contenuto integrale di uno o più file specifici per un'analisi comparativa. |
| #codebase | Code Index | Utilizza l'indice semantico locale per trovare snippet simili in tutto il repository. |
| @terminal | Terminal Agent | Analizza l'output del terminale, utile per il debugging di errori di compilazione o runtime. |
.github/copilot-instructions.mdQuesta è la funzionalità più potente per un architetto. Permette di definire un "vangelo" di regole che Copilot seguirà in ogni interazione all'interno del repository.
Crea il file nel tuo progetto: .github/copilot-instructions.md
# Engineering Standards for this Repository
## General Principles
- Always use **Type Hinting** for Python functions.
- Follow **C++20 standards**, avoiding manual memory management (prefer Smart Pointers).
- Use **Google Style Docstrings** for all public APIs.
## Architecture
- We follow a **Hexagonal Architecture**: keep business logic isolated from infrastructure.
- Use **FastAPI** for routing and **Pydantic v2** for data validation.
## Formatting & Naming
- Use `snake_case` for variables and `PascalCase` for classes.
- Constants must be `UPPER_SNAKE_CASE`.
## Error Handling
- Never use bare `except:`. Always specify the exception type and use the internal `Logger` module.
Ecco come VS Code assembla la richiesta prima di inviarla a Claude o GPT:
Quando usi Copilot Edits (Ctrl+Shift+I), la gestione del contesto diventa manuale ed esplicita.
.hpp) che l'implementazione (.cpp) e almeno un file client che la utilizza per verificare la consistenza.@workspace potrebbe richiedere alcuni secondi per aggiornarsi. Se Copilot non "vede" un file appena creato, usa #file per forzarlo."@workspace Verifica se le docstrings in questo modulo sono conformi alle regole in .github/copilot-instructions.md"Tags: #Copilot #ContextManagement #SoftwareArchitecture #PromptEngineering #VSCode*