GitHub Copilot voor de command line

Voltooid

GitHub Copilot is niet alleen voor Integrated Development Environments (IDE's) - het is nu een krachtige assistent in uw terminal. GitHub Copilot CLI brengt Copilot rechtstreeks naar de opdrachtregel, waar opdrachten kunnen worden uitgelegd, shell-opdrachten uit natuurlijke taal kunnen voorstellen en u helpen veilig en interactief met uw bestanden en projecten te werken.

Copilot CLI maakt gebruik van GitHub-verificatie en wordt onafhankelijk van GitHub CLI uitgevoerd, hoewel uw bestaande referenties worden gebruikt. Of u nu geen ervaring hebt met de opdrachtregel of een ervaren ontwikkelaar, Copilot CLI vermindert schattingen en versnelt dagelijkse werkstromen.

In deze les wordt het volgende behandeld:

  • GitHub Copilot CLI installeren en uitvoeren
  • Interactieve sessies in de terminal
  • Slash-opdrachten en invoer in natuurlijke taal
  • Configuratie en opties

Copilot CLI installeren en starten

Installeren via Homebrew op macOS en Linux:

brew install copilot-cli

Of gebruik het officiële installatiescript:

curl -fsSL https://gh.io/copilot-install | bash

Start Copilot CLI in interactieve modus:

copilot

Er wordt een welkomstbanner en een prompt weergegeven:

Schermopname van de banner van de interactieve modus van Copilot.

Bij de eerste lancering vraagt Copilot of u de bestanden in de huidige map vertrouwt. Copilot kan bestanden in deze map lezen, wijzigen of uitvoeren tijdens de sessie, dus ga alleen door op locaties die u vertrouwt.

Schermopname van copilot interactive specify directory.

U kunt de opdracht @ gebruiken om een specifiek bestand te selecteren waarmee u als context wilt werken.

Schermopname van het selecteren van een bestand in de interactieve copilot-modus.

In een interactieve sessie kunt u het volgende doen:

  • Gebruik slash-opdrachten (/command) om de sessie te beheren en de Copilot CLI te configureren.
  • Typ natuurlijke taalprompts om opdrachten uit te leggen, te voorstellen of te herzien.

Voor eenmalige prompts zonder de volledige interactieve modus in te voeren:

copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"

Algemene slash-opdrachten

Slash-opdrachten zijn expliciete opdrachten voor sessiebeheer. Dit zijn de meest voorkomende:

Slash-opdracht Description
/help Beschikbare opdrachten en opties weergeven
/explain <command> Vraag Copilot om een shell-opdracht uit te leggen
/suggest <task> Vraag Copilot om een shell-opdracht voor een taak voor te stellen
/revise De laatste suggestie herzien op basis van uw instructies
/feedback Feedback verzenden over een antwoord of suggestie
/exit Interactieve modus afsluiten
/model <model> Selecteren welk AI-model u wilt gebruiken
/theme [auto|dark|light] Terminalthema wijzigen
/skills Vaardigheden voor verbeterde mogelijkheden beheren
/mcp CONFIGURATIE van MCP-server beheren
/list-dirs Toegestane mappen weergeven voor bestandsbewerkingen
/reset-allowed-tools Lijst met toegestane hulpprogramma's opnieuw instellen

Slash-opdrachten kunnen niet worden vervangen door prompts in natuurlijke taal. Ze zijn de enige manier om sessie-instellingen en configuratie te beheren.

Voorbeeldwerkstromen

1. Een opdracht uitleggen

> Explain what `git reset --hard HEAD` does

Copilot zal een gedetailleerde uitleg geven.

Schermopname van Copilot CLI waarin een opdracht in de interactieve modus wordt uitgelegd.

2. Een opdracht voorstellen

> Find and delete all .log files in my home folder

Copilot genereert een opdrachtsuggesties en vraagt u om deze uit te voeren als u tevreden bent met de suggesties.

Schermopname van Copilot CLI die een opdracht voorstelt in de interactieve modus.

3. Een suggestie herzien

Nadat u een suggestie hebt ontvangen, kunt u een vervolgprompt typen om de voorgestelde opdracht te wijzigen:

> Include only files modified in the last 7 days

Schermopname van Copilot CLI die een suggestie verbetert op basis van de vervolgprompt.

4. Feedback geven

Na een antwoord of suggestie:

> /feedback

Schermopname van het gebruik van de /feedback slashopdracht in de interactieve Copilot CLI-modus.

Copilot vraagt u om het type feedback te kiezen dat u wilt verzenden en navigeer vervolgens naar het juiste formulier om uw feedback in te vullen.

5. Interactieve modus afsluiten

> /exit

Configuratieopties

In Copilot CLI wordt de configuratie afgehandeld via:

  1. Slash-opdrachten in de interactieve modus

    • /model AI-model kiezen
    • /theme terminalthema wijzigen
    • /skills verbeterde mogelijkheden beheren
    • /reset-allowed-tools reset-hulpprogramma's
    • /list-dirs toegestane mappen weergeven
    • /mcp MCP-serverinstellingen
  2. Copilot CLI-configuratie (niet-interactieve modus)

Copilot CLI-configuratie wordt beheerd via machtigingsprompts, opdrachtregelvlagken en lokale configuratiebestanden. Deze instellingen bepalen wat Copilot namens u kan openen en doen.

Veelvoorkomende configuratieopties zijn:

  • Vertrouwde mappen: bepalen waar Copilot bestanden kan lezen, bewerken en uitvoeren.
  • Hulpprogrammamachtigingen: Copilot toestaan of beperken om shell-opdrachten uit te voeren of bestanden te wijzigen met behulp van vlaggen zoals --allow-tool of --deny-tool.
  • Machtigingen voor mappen – Beheer welke directories Copilot kan openen.
  • URL-machtigingen: beheren met welke externe domeinen Copilot verbinding kan maken.

Raadpleeg de officiële GitHub Copilot CLI-documentatie voor volledige configuratieopties.

Omgevingen voor uitvoering in sandbox

GitHub Copilot CLI ondersteunt sandboxomgevingen waarmee u uw systeem kunt beveiligen terwijl Copilot namens u taken kan uitvoeren.

Sandboxing isoleert opdrachten, bestandsbewerkingen en andere activiteiten uit uw primaire ontwikkelomgeving. Afhankelijk van uw werkstroom kunt u kiezen tussen lokale sandboxing en cloud-sandboxing.

Lokale isolatie

Met lokale sandboxing kunnen Copilot opdrachten uitvoeren in een beperkte omgeving op uw computer.

Wanneer deze optie is ingeschakeld, is de toegang van Copilot tot uw bestandssysteem, netwerkconnectiviteit en besturingssysteemmogelijkheden beperkt, waardoor het risico op onbedoelde wijzigingen wordt beperkt, terwijl u nog steeds profiteert van werkstromen die door agents worden ondersteund.

Lokale sandboxing inschakelen tijdens een interactieve sessie:

/sandbox enable

Nadat u sandboxing hebt ingeschakeld, worden opdrachten uitgevoerd door Copilot uitgevoerd in de omgeving in de sandbox in plaats van rechtstreeks op uw hostsysteem.

Voordelen van lokale sandboxing

Benefit Description
Verbeterde beveiliging Hiermee beperkt u de toegang tot gevoelige systeembronnen.
Veiliger experimenteren Hiermee kunt u agentgestuurde workflows testen met minder risico.
Lokale uitvoering Maakt gebruik van de resources van uw machine zonder dat hiervoor een cloudinfrastructuur nodig is.
Meer controle Biedt extra beveiliging tijdens het gebruik van autonome agents.

Cloudisolatie

Met cloud-sandboxing kunnen Copilot CLI-sessies worden uitgevoerd binnen volledig geïsoleerde Linux-omgevingen die worden gehost door GitHub.

In tegenstelling tot lokale sandboxing worden cloud sandboxsessies volledig uitgevoerd in GitHub gehoste infrastructuur en blijven ze gescheiden van uw lokale computer en van andere sandboxsessies.

Cloudsandboxing is gebaseerd op de sandboxes van Azure Container Apps, waarbij GitHub zorgt voor authenticatie, governance, beleidshandhaving en factureringsintegratie.

Ga als volgende te werk om een cloud-sandboxsessie te starten:

copilot --cloud

Zodra het is gestart, kunt Copilot opdrachten uitvoeren, bestanden wijzigen, tests uitvoeren en ontwikkeltaken uitvoeren in de cloudomgeving in plaats van op uw lokale apparaat.

Voordelen van cloud-sandboxing

Benefit Description
Sterke isolatie Workloads worden afzonderlijk uitgevoerd vanaf uw lokale computer.
Flexibiliteit van apparaten Sessies op verschillende apparaten hervatten.
Resource-uitbesteding Maakt gebruik van cloudresources in plaats van lokale CPU en geheugen.
Parallelle uitvoering Voer tegelijkertijd meerdere agentgestuurde taken uit.

Doorgaan met sessies op meerdere apparaten

Omdat cloud-sandboxsessies worden uitgevoerd in GitHub gehoste infrastructuur, is werk niet gekoppeld aan een specifieke computer.

Hiermee kunt u het volgende doen:

  • Een sessie starten op één apparaat
  • Dezelfde sessie hervatten vanaf een ander apparaat
  • Doorgaan met werken zonder bestanden handmatig over te dragen of omgevingen opnieuw te maken

Deze flexibiliteit is vooral handig voor ontwikkelaars die op meerdere computers of locaties werken.

Levenscyclus van cloud-sandboxsessies

Cloud-sandboxsessies kunnen bestaan in drie statussen:

State Description
Actieve De sessie is actief en beschikbaar voor interactie.
Gestopt De sessie is gepauzeerd, maar de toestand blijft behouden voor later gebruik.
Verwijderd De sessie en alle opgeslagen statussen worden definitief verwijderd.

Wanneer een sessie wordt gestopt, slaat GitHub een momentopname van de omgeving op, inclusief bestanden, omgevingsvariabelen en werk dat wordt uitgevoerd. Als u de sessie hervat, wordt de opgeslagen status hersteld, zodat u kunt doorgaan waar u was gebleven.

Verificatie en toegang

Cloud sandboxes gebruiken hetzelfde verificatiemodel als GitHub Copilot CLI.

Als u zich kunt verifiëren bij GitHub Copilot CLI en toegang hebt tot GitHub Copilot, is er geen aanvullende configuratie van de cloudprovider vereist.

U hoeft het volgende niet te doen:

  • API-sleutels beheren
  • Cloudinfrastructuur configureren
  • Virtuele machines inrichten
  • Containeromgevingen onderhouden

Opmerking

Organisatie- of ondernemingsbeheerders moeten het toegangsbeleid voor cloud sandbox inschakelen voordat leden cloud-sandboxomgevingen kunnen gebruiken.

Lokale sandboxing tegenover sandboxing in de cloud

Feature Lokale sandbox Cloud Sandbox
Locatie van uitvoering Lokale computer GitHub gehoste omgeving
Resourcegebruik Lokale bronnen Cloudbronnen
Isolatieniveau Beperkte lokale omgeving Volledig geïsoleerde cloudomgeving
Apparaatafhankelijkheid Nee Ja
Parallelle workloads Beperkt door lokale hardware Eenvoudig schaalbaar

Wanneer moet u sandboxing gebruiken?

Overweeg het gebruik van sandboxing wanneer:

  • Werken met onbekende opslagplaatsen
  • Door agents gegenereerde opdrachten testen
  • Autonome werkstromen uitvoeren
  • Potentieel destructieve bewerkingen uitvoeren
  • Werken op meerdere apparaten
  • Rekenintensieve ontwikkelingstaken offloaden

Sandboxing biedt een extra beveiligingslaag en flexibiliteit, zodat u veilig kunt profiteren van de agentmogelijkheden van GitHub Copilot CLI.

Tips voor effectief gebruik van Copilot CLI

  • Gebruik de interactieve modus (copilot) voor verkennende taken.
  • Gebruik de modus met één opname (copilot -i) voor snelle antwoorden.
  • Invoer in natuurlijke taal werkt. U hebt niet altijd slash-opdrachten nodig.
  • Controleer opdrachten altijd vóór uitvoering.
  • Combineer Copilot CLI met GitHub CLI (gh) voor het beheer van opslagplaatsen en problemen.
  • Gebruik slash-opdrachten wanneer u gestructureerde acties of feedback wilt.