> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão geral do Command

> Use o Command do Devin Desktop para fazer edições inline de código com IA no VS Code e no JetBrains. Gere ou edite código com prompts em linguagem natural usando Cmd/Ctrl+I.

**Command do Devin Desktop** gera código novo ou edita código existente por meio de entradas em linguagem natural, diretamente na janela do editor.

<Tabs>
  <Tab title="VS Code">
    Para invocar o Command, pressione `⌘+I` no Mac ou `Ctrl+I` no Windows/Linux.
    Depois disso, você pode inserir um prompt em linguagem natural e clicar no botão Submit (ou `⌘+⏎`/`Ctrl+⏎`) para enviar a instrução para a IA.
    O Devin Desktop então fornecerá uma sugestão em várias linhas, que você pode aceitar ou rejeitar.

    Se você selecionar uma seção de código antes de invocar o Command, a IA editará o trecho correspondente às linhas selecionadas.
    Caso contrário, ela gerará código na posição do cursor.

    <Frame>
      <video autoPlay muted loop playsInline src="https://exafunction.github.io/public/videos/codeium_command_vscode.mp4" />
    </Frame>

    Você pode aceitar, rejeitar ou dar sequência a uma geração clicando no code lens correspondente acima do diff gerado,
    ou usando os atalhos apropriados (`⌥+A`/`Alt+A`, `⌥+R`/`Alt+R` e `⌥+F`/`Alt+F`, respectivamente).
  </Tab>

  <Tab title="JetBrains">
    Para invocar o Command, pressione `⌘+I` no Mac ou `Ctrl+I` no Windows/Linux.

    <Note>
      Alguns usuários relataram conflitos de teclado com esse atalho, então `⌘+⇧+I` e `⌘+\` no Mac (`Ctrl+⇧+I` e `Ctrl+\` no Windows/Linux)
      também funcionam.
    </Note>

    Ao invocar o Command, uma janela pop-up interativa será aberta no local apropriado do código.
    Você pode inserir um prompt em linguagem natural, e o Devin Desktop fornecerá uma sugestão em várias linhas, que você pode aceitar ou rejeitar.
    Se você selecionar uma seção de código antes de invocar o Command, a IA editará o trecho correspondente às linhas selecionadas.
    Caso contrário, ela gerará código na posição do cursor.

    <Frame>
      <video autoPlay muted loop playsInline src="https://exafunction.github.io/public/videos/codeium_command_jetbrains.mp4" />
    </Frame>

    A janela pop-up do Command permanecerá no editor se você rolar a tela ou mover o cursor para outro ponto no editor.
    Ela atuará sobre a seleção de código mais recente ou sobre a posição mais recente do cursor.
    Enquanto estiver ativa, a janela pop-up do Command oferece as seguintes opções:

    * **Cancel** (`Esc`): fecha a janela pop-up e desfaz quaisquer alterações de código que possam ter ocorrido enquanto ela estava aberta.
    * **Accept generation** (`⌘+⏎`): esta opção aparece depois de enviar uma instrução e receber uma geração.
      Ela gravará a sugestão no editor de código e fechará a janela pop-up.
    * **Undo generation** (`⌘+⌫`): esta opção aparece depois de enviar uma instrução e receber uma geração.
      Ela restaurará o código ao estado anterior ao Command sem fechar a janela pop-up, reinserindo ao mesmo tempo sua instrução mais recente
      na caixa de entrada.
    * **Follow-up**: esta opção aparece depois de enviar uma instrução e receber uma geração.
      Você pode inserir uma segunda (e terceira, quarta etc.) instrução e enviá-la,
      o que desfará a geração exibida no momento e executará novamente o Command usando seu histórico de instruções concatenado por vírgulas.
  </Tab>
</Tabs>

<div id="best-practices">
  # Melhores práticas
</div>

O Command do Devin Desktop é ótimo para alterações inline com escopo de arquivo, que você pode descrever como uma instrução em linguagem natural.
Aqui estão algumas orientações para ter em mente:

* O modelo que alimenta o Command é maior do que o usado no autocompletar.
  Ele é mais lento, mas mais capaz, e foi treinado para ser especialmente bom em seguir instruções.

  * Se você destacar um bloco de código antes de acionar o Command, ele editará a seleção. Caso contrário, fará apenas a geração.

  * Usar o Command de forma eficaz pode ser uma arte. Prompts simples como "Corrija isso" ou "Refatore" provavelmente funcionarão
    graças à compreensão de contexto do Devin Desktop.
    Um prompt específico como "Escreva uma função que receba duas entradas do tipo `Diffable` e implemente o algoritmo de diff de Myers"
    que contenha um objetivo claro e referências a um contexto relevante pode ajudar ainda mais o modelo.
