> ## 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.

# Command 概览

> 在 VS Code 和 JetBrains 中使用 Devin Desktop Command 进行由 AI 驱动的内联代码编辑。通过 Cmd/Ctrl+I 使用自然语言提示生成或编辑代码。

**Devin Desktop Command** 可直接在编辑器窗口中通过自然语言输入生成新代码或编辑现有代码。

<Tabs>
  <Tab title="VS Code">
    要调用 Command，请在 Mac 上按 `⌘+I`，或在 Windows/Linux 上按 `Ctrl+I`。
    然后，你可以输入自然语言提示，并点击 Submit 按钮 (或按 `⌘+⏎`/`Ctrl+⏎`) 将指令发送给 AI。
    随后，Devin Desktop 会提供多行建议，你可以接受或拒绝。

    如果你在调用 Command 之前选中了一段代码，AI 就会编辑高亮行所覆盖的选区。
    否则，它会在光标所在位置生成代码。

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

    你可以点击生成的 diff 上方对应的 code lens，对生成结果执行接受、拒绝或继续追问，
    也可以使用相应的快捷键 (分别为 `⌥+A`/`Alt+A`、`⌥+R`/`Alt+R` 和 `⌥+F`/`Alt+F`) 。
  </Tab>

  <Tab title="JetBrains">
    要调用 Command，请在 Mac 上按 `⌘+I`，或在 Windows/Linux 上按 `Ctrl+I`。

    <Note>
      一些用户反馈此快捷键会有冲突，因此在 Mac 上也可以使用 `⌘+⇧+I` 和 `⌘+\` (在 Windows/Linux 上使用 `Ctrl+⇧+I` 和 `Ctrl+\`) 。
    </Note>

    调用 Command 后，会在代码中的相应位置打开一个交互式弹窗。
    你可以输入自然语言提示，Devin Desktop 会提供多行建议，你可以接受或拒绝。
    如果你在调用 Command 之前选中了一段代码，AI 就会编辑高亮行所覆盖的选区。
    否则，它会在光标所在位置生成代码。

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

    如果你在编辑器中滚动，或将光标焦点移到编辑器中的其他位置，Command 弹窗仍会保留在编辑器中。
    它会根据你最近一次高亮选中的代码区域或最近一次的光标位置执行操作。
    当它处于活动状态时，Command 弹窗会提供以下选项：

    * **取消** (`Esc`)：这会关闭弹窗，并撤销弹窗打开期间可能发生的任何代码修改。
    * **接受生成结果** (`⌘+⏎`)：此选项会在提交指令并收到生成结果后出现。
      它会将建议写入代码编辑器并关闭弹窗。
    * **撤销生成结果** (`⌘+⌫`)：此选项会在提交指令并收到生成结果后出现。
      它会在不关闭弹窗的情况下将代码恢复到调用 Command 之前的状态，同时将你最近一次的指令重新填入
      输入框中。
    * **继续追问**：此选项会在提交指令并收到生成结果后出现。
      你可以输入第二条 (以及第三条、第四条等) 指令并提交，
      这会撤销当前显示的生成结果，并使用以逗号拼接的指令历史重新运行 Command。
  </Tab>
</Tabs>

<div id="best-practices">
  # 最佳实践
</div>

Devin Desktop Command 非常适合处理那些你可以用自然语言指令描述的、限定在单个文件内的行内修改。
以下是一些需要注意的要点：

* 为 Command 提供支持的模型比为 Autocomplete 提供支持的模型更大。
  它速度更慢，但能力更强，而且经过专门训练，尤其擅长遵循指令。

  * 如果你在调用 Command 之前选中了一块代码，它会编辑选中的内容。否则，它会直接生成代码。

  * 想要用好 Command，也可以说是一门艺术。像“修复这个”或“重构”这样简单的提示
    往往就能奏效，这得益于 Devin Desktop 的上下文感知能力。
    而像“编写一个函数，接收两个 `Diffable` 类型的输入，并实现 Myers diff 算法”这样更具体的提示，
    如果包含明确的目标以及相关上下文的参考信息，可能会进一步帮助模型发挥更好的效果。
