Vai al contenuto principale
Tutte le configurazioni avanzate sono disponibili in Devin Settings, accessibile dal menu a discesa in alto a destra → Devin Settings oppure dalla Command Palette (Ctrl/⌘+Shift+P) → Open Devin User Settings.

Abilitare l’accesso di Cascade ai file .gitignore

Per consentire a Cascade di accedere ai file che corrispondono ai pattern nel file .gitignore del progetto, vai in Devin Settings e poi in “Cascade Gitignore Access”. Per impostazione predefinita, è disattivato. Per consentire l’accesso, attivalo facendo clic sull’interruttore.

Zone diff degli agenti

Quando un agente modifica i file, Devin Desktop mostra le zone diff — aree evidenziate inline nell’editor che mostrano esattamente cosa è cambiato, con controlli per accettare o rifiutare ogni hunk. Tutti gli agenti usano le zone diff per impostazione predefinita. Puoi disattivare le zone diff per gli agenti non Cascade in Devin Settings → User Interface → Agent Diff Zones. Quando sono disattivate, le modifiche degli agenti non Cascade vengono applicate direttamente al file e la barra degli strumenti mostra un semplice pulsante per chiudere invece dei controlli di accettazione/rifiuto.

Supporto SSH

Il consueto supporto SSH in VSCode è concesso in licenza da Microsoft, quindi ne abbiamo implementato uno nostro appositamente per Devin Desktop. Richiede che OpenSSH sia installato, ma per il resto ha dipendenze minime e dovrebbe “semplicemente funzionare”, come d’abitudine. Puoi accedere a SSH da Remote-SSH nella command palette oppure tramite il pulsante Open a Remote Window in basso a sinistra. Questa estensione ha funzionato molto bene per il nostro sviluppo interno, ma ci sono alcune limitazioni e bug noti:
  • Al momento supportiamo solo connessioni SSH verso host remoti basati su Linux.
  • La consueta estensione Microsoft “Remote - SSH” (e l’estensione open-remote-ssh) non funzionerà: non installarla, perché entra in conflitto con il nostro supporto.
  • Al momento non offriamo ancora tutte le funzionalità dell’estensione SSH di Microsoft. Per ora supportiamo soprattutto la cosa più importante: la connessione a un host. Se hai richieste di funzionalità, faccelo sapere!
  • Per accedere a un devcontainer su un host remoto dopo esserti connesso via SSH, usa la command palette (Ctrl/Cmd+Shift+P) e scegli una delle seguenti opzioni:
  • L’agent forwarding SSH è attivo per impostazione predefinita e userà la connessione più recente di Devin Desktop a quell’host. Se riscontri problemi, prova a ricaricare la finestra per aggiornare la connessione.
  • Su Windows, vedrai alcune finestre di cmd.exe quando ti viene richiesta la password. È normale: le elimineremo presto.
  • Se riscontri problemi, assicurati innanzitutto di riuscire a collegarti via ssh al tuo host remoto usando il normale ssh in un terminale. Se il problema persiste, includi l’output della scheda Output > Remote SSH (Devin) in qualsiasi bug report.

Dev Containers

Devin Desktop supporta i Development Container su Mac, Windows e Linux, sia per i flussi di lavoro locali sia per quelli remoti (tramite SSH). Prerequisiti:
  • Locale: Docker deve essere installato sul tuo computer e accessibile dal terminale di Devin Desktop.
  • Remoto tramite SSH: connettiti a un host remoto usando Devin Desktop Remote-SSH. Docker deve essere installato e accessibile sull’host remoto (dalla shell remota). Il progetto deve includere un file devcontainer.json o una configurazione equivalente.
Comandi disponibili (sia nelle finestre locali che in quelle remote):
  1. Dev Containers: Open Folder in Container
    • Apre un nuovo workspace usando un file devcontainer.json specificato.
  2. Dev Containers: Reopen in Container
    • Riapre il workspace corrente in un nuovo container definito dal file devcontainer.json.
  3. Dev Containers: Attach to Running Container
    • Si collega a un container Docker esistente e vi connette il workspace corrente. Se il container non segue la specifica dei Development Container, Devin Desktop proverà a rilevare al meglio l’utente remoto e l’environment.
  4. Dev Containers: Reopen Folder Locally
    • Quando sei connesso a un development container, si disconnette e riapre il workspace nel filesystem locale.
  5. Dev Containers: Show Devin Desktop Dev Containers Log
    • Apre l’output del log di Dev Containers per la risoluzione dei problemi.
Questi comandi sono disponibili dalla command palette e vengono visualizzati anche quando fai clic sul pulsante Open a Remote Window in basso a sinistra (anche quando sei connesso a un host remoto tramite SSH). Correlati:
  • Remote Explorer: Focus on Dev Containers (Devin Desktop) View — apre rapidamente la vista Dev Containers.

Limitazioni note

Devin Desktop attualmente non esegue i comandi del ciclo di vita della Dev Container Specification:
  • onCreateCommand
  • updateContentCommand
  • postCreateCommand
  • postStartCommand
  • postAttachCommand
Questo vale sia per i comandi del ciclo di vita a livello di container (definiti in devcontainer.json) sia per quelli a livello di feature (definiti in devcontainer-feature.json). Anche l’installazione dei dotfile non viene eseguita. Cosa funziona:
  • Gli script install.sh delle feature (vengono eseguiti in fase di build dell’immagine)
  • I mounts delle feature (i volumi vengono montati nel runtime del container)
  • Il campo entrypoint delle feature (viene eseguito a ogni avvio del container)
  • Tutte le altre operazioni in fase di build dell’immagine (Dockerfile, docker-compose, feature)

Soluzione alternativa: uso dell’entrypoint di una feature per la configurazione del runtime

Se stai creando una feature Dev Container che deve eseguire la configurazione all’avvio del container (ad esempio, per configurare file da un volume montato), usa il campo entrypoint della feature invece di un comando del ciclo di vita. L’entrypoint viene eseguito a ogni avvio del container dopo che i volumi sono stati montati ed è completamente autonomo: chi utilizza la tua feature non deve modificare il proprio devcontainer.json. Nel tuo devcontainer-feature.json, dichiara l’entrypoint:
{
    "name": "my-feature",
    "id": "my-feature",
    "version": "1.0.0",
    "mounts": [
        { "type": "volume", "source": "my-volume", "target": "/data/my-dir" }
    ],
    "entrypoint": "/usr/local/share/my-feature/entrypoint.sh"
}
Nel tuo install.sh (eseguito durante la build dell’immagine), scrivi lo script di entrypoint:
#!/usr/bin/env bash
set -e
mkdir -p /usr/local/share/my-feature
cat > /usr/local/share/my-feature/entrypoint.sh << 'EOF'
#!/bin/sh
# Setup dipendente dal mount (eseguito ad ogni avvio del container, il volume è montato)
if [ -d /data/my-dir ]; then
    mkdir -p /etc/myapp
    cp /data/my-dir/config /etc/myapp/config
fi
exit 0
EOF
chmod +x /usr/local/share/my-feature/entrypoint.sh
Lo script di entrypoint dovrebbe eseguire la propria configurazione e terminare normalmente. Non concluderlo con exec "$@" — il wrapper dell’entrypoint della CLI si occupa di passare il controllo al comando del container. Mantieni lo script leggero, perché viene eseguito in modo sincrono prima che l’IDE si connetta.

WSL (Beta)

A partire dalla versione 1.1.0, Devin Desktop offre supporto beta per Windows Subsystem for Linux. Devi aver già installato e configurato WSL sul tuo computer Windows. Puoi accedere a WSL facendo clic sul pulsante Open a Remote Window in basso a sinistra, oppure selezionando Remote-WSL nella command palette.

Marketplace delle estensioni

Puoi cambiare il marketplace da cui scarichi le estensioni. Per farlo, vai in Devin Settings e modifica l’URL del Marketplace nella sezione General.

Plugin di Devin Desktop

Cerca “Devin Pyright” oppure incolla @id:codeium.windsurfPyright nella barra di ricerca delle estensioni.