Menzioni di contesto
Fai riferimento a elementi specifici del tuo progetto direttamente nelle conversazioni con Bob utilizzando le @mentions per un'assistenza precisa e consapevole del contesto.
Tipi di menzioni
Con le menzioni di contesto, puoi fare riferimento a vari elementi del tuo progetto:
| Tipo di menzione | Formato | Descrizione | Esempio di utilizzo |
|---|---|---|---|
| File | @/path/to/file.ts | Include il contenuto del file nel contesto della richiesta | Spiega la funzione in @/src/utils.ts |
| Cartella | @/path/to/folder | Include il contenuto di tutti i file direttamente nella cartella (non ricorsivo) | Analizza il codice in @/src/components |
| Problemi | @problems | Include la diagnostica del pannello Problems di IBM Bob | @problems Correggi tutti gli errori nel mio codice |
| Terminal | @terminal | Include il comando recente del terminale e il relativo output | Correggi gli errori mostrati in @terminal |
| Git commit | @a1b2c3d | Fa riferimento a un commit specifico tramite il relativo hash | Cosa è cambiato nel commit @a1b2c3d? |
| Git changes | @git-changes | Mostra le modifiche non sottoposte a commit | Suggerisci un messaggio per @git-changes |
| URL | @https://example.com | Importa il contenuto del sito web | Riassumi @https://docusaurus.io/ |
Menzioni di file
Le menzioni di file sono il tipo più comunemente utilizzato e ti consentono di includere il contenuto di file specifici nella tua conversazione con Bob.
| Capacità | Dettagli |
|---|---|
| Formato | @/path/to/file.ts (inizia sempre con / dalla radice del workspace) |
| Fornisce | Contenuto completo del file con i numeri di riga |
| Funziona con | File di testo, PDF e file DOCX (con estrazione del testo) |
| Funziona in | Richieste iniziali, risposte di feedback e messaggi di follow-up |
| Limitazioni | I file molto grandi possono essere troncati; i file binari non sono supportati |
Per i file di grandi dimensioni, puoi menzionare sezioni specifiche utilizzando il percorso del file seguito dai numeri di riga, come @/src/app.js:10-20 per includere solo le righe 10-20.
Menzioni di cartella
Con le menzioni di cartella, puoi fare riferimento a più file contemporaneamente, fornendo un contesto più ampio da una directory.
| Capacità | Dettagli |
|---|---|
| Formato | @/path/to/folder (nessuna barra finale) |
| Fornisce | Contenuto completo di tutti i file all'interno della directory |
| Include | Contenuto dei file di testo non binari direttamente all'interno della cartella (non ricorsivo) |
| Ideale per | Fornire il contesto di più file in una directory |
| Suggerimento | Presta attenzione ai limiti del contex window quando menzioni directory di grandi dimensioni |
Le menzioni di cartella non sono ricorsive, il che significa che includono solo i file presenti direttamente nella cartella specificata, non nelle sottocartelle.
Menzione dei problemi (problems)
La menzione dei problemi importa la diagnostica dal pannello Problems di IBM Bob, aiutandoti a risolvere più problemi contemporaneamente.
| Capacità | Dettagli |
|---|---|
| Formato | @problems |
| Fornisce | Tutti gli errori e gli avvisi dal pannello dei problemi di IBM Bob |
| Include | Percorsi dei file, numeri di riga e messaggi diagnostici |
| Raggruppa | Problemi organizzati per file per una maggiore chiarezza |
| Ideale per | Correggere gli errori senza copiarli manualmente |
Esempio di utilizzo: @problems Puoi aiutarmi a risolvere tutti questi problemi?
Menzione del terminale (terminal)
Le menzioni del terminale acquisiscono l'output del comando recente, aiutandoti a eseguire il debug degli errori di compilazione o ad analizzare i risultati del comando.
| Capacità | Dettagli |
|---|---|
| Formato | @terminal |
| Acquisisce | L'ultimo comando e il suo output completo |
| Preserva | Lo stato del terminale (non cancella il terminale) |
| Limitazione | Limitato al contenuto visibile del buffer del terminale |
| Ideale per | Debug di errori di compilazione o analisi dell'output dei comandi |
Durante la risoluzione di un errore di compilazione, prova a inserire
Cosa c'è che non va in @terminal? per ottenere informazioni immediate sull'errore senza copiare manualmente l'output.
Menzioni Git
Le menzioni Git ti aiutano a lavorare con il controllo della versione facendo riferimento a commit e modifiche.
| Tipo | Formato | Fornisce | Limitazioni |
|---|---|---|---|
| Commit | @a1b2c3d | Messaggio di commit, autore, data e diff completo | Funziona solo nei repository Git |
| Modifiche in corso | @git-changes | Output di git status e diff delle modifiche non sottoposte a commit | Funziona solo nei repository Git |
Esempio di utilizzo: Qual è lo scopo di @a1b2c3d? oppure Suggerisci un messaggio di commit per @git-changes
Menzioni di URL
Le menzioni di URL ti consentono di fare riferimento a contenuti web esterni nelle tue conversazioni con Bob.
| Capacità | Dettagli |
|---|---|
| Formato | @https://example.com |
| Elaborazione | Utilizza un browser headless per recuperare il contenuto |
| Pulizia | Rimuove script, stili ed elementi di navigazione |
| Output | Converte il contenuto in Markdown per facilitarne la lettura |
| Limitazione | Le pagine complesse potrebbero non essere convertite perfettamente |
Le menzioni di URL sono utili per fare riferimento alla documentazione.
Prova Puoi spiegarmi @https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise per ottenere aiuto nella comprensione di un concetto utilizzando la documentazione ufficiale come contesto.
Utilizzare le menzioni di contesto
Digita @ nell'input della chat per attivare il dropdown dei suggerimenti.
Continua a digitare per filtrare i suggerimenti o usa i tasti freccia per navigare.
Seleziona con il tasto Invio o facendo clic con il mouse.
Combina più menzioni in una richiesta: "Correggi @problems in @/src/component.ts"
Evidenzia il testo e usa la scorciatoia da tastiera ⌘ + L per aggiungerlo alla chat.
Il dropdown suggerisce automaticamente:
- File aperti di recente
- Cartelle visibili
- Commit git recenti
- Parole chiave speciali (
problems,terminal,git-changes) - Tutti i file attualmente aperti (indipendentemente dalle impostazioni di ignore o dai filtri di directory)
Il dropdown esclude automaticamente le directory comuni come node_modules, .git, dist e out per ridurre il rumore, sebbene sia possibile includere il loro contenuto digitandolo manualmente.
Puoi combinare più menzioni in una singola richiesta. Prova Confronta @/src/v1/api.js con @/src/v2/api.js e spiega le differenze.
Comportamenti importanti
Interazioni con file ignorati
Le menzioni di contesto hanno comportamenti specifici quando interagiscono con file ignorati:
| Comportamento | Descrizione |
|---|---|
Bypass di .bobignore | Le @mentions di file e cartelle ignorano i controlli di .bobignore quando recuperano il contenuto per il contesto. Il contenuto dei file ignorati verrà incluso se menzionato direttamente. |
Bypass di .gitignore | Allo stesso modo, le @mentions di file e cartelle non rispettano le regole di .gitignore durante il recupero del contenuto. |
| Rispetto dei comandi Git | Le menzioni correlate a Git (@git-changes, @commit-hash) rispettano .gitignore poiché si basano sui comandi Git. |
Le menzioni di contesto ignorano le regole di ignore, quindi puoi fare riferimento a file specifici che normalmente verrebbero ignorati da Bob o Git. Questa funzionalità è particolarmente utile quando devi discutere di file generati o altri contenuti generalmente ignorati.
Mettendo tutto insieme
Le menzioni di contesto migliorano le tue interazioni con Bob fornendo riferimenti precisi agli elementi del tuo progetto. Invece di copiare e incollare codice o descrivere le posizioni dei file, puoi fare direttamente riferimento a ciò di cui stai discutendo.
Combinazioni efficaci di diversi tipi di menzioni:
Correggi @problems in @/src/components e spiega cosa c'era di sbagliatoRivedi @git-changes e suggerisci miglioramentiConfronta @/v1/api.js con @https://api-docs.example.com e verifica la presenza di incongruenze
Utilizzando le menzioni di contesto in modo efficace, puoi comunicare in modo più preciso con Bob e ricevere un'assistenza più mirata.
Subagents
Scopri come Bob usa i subagents per gestire attività mirate e autonome in contesti isolati senza inquinare la conversazione principale.
Suggerimenti Bob
I suggerimenti Bob rilevano problemi di qualità del codice in tempo reale con suggerimenti di refactoring basati sull'IA per funzioni complesse. Riduci il debito tecnico mentre scrivi codice.