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

# Refatorações, docstrings e mais

> Use recursos do Command, como code lenses para refatoração, geração de docstrings e Smart Paste para traduzir código entre linguagens.

O Command simplifica algumas operações comuns.

<div id="function-refactors-and-docstring-generation">
  ## Refatorações de Funções e Geração de Docstrings
</div>

Acima de funções e classes, o Devin Desktop exibe *code lenses*,
que são pequenos rótulos de texto clicáveis que acionam os recursos de IA do Devin Desktop no item correspondente.

<Tip>Você pode desativar as code lenses clicando no `✕` à direita do texto da code lens.</Tip>

As code lenses `Refactor` e `Docstring`, em particular, acionam o Command.

* Se você clicar em `Refactor`, o Devin Desktop exibirá um menu suspenso com
  instruções pré-preenchidas para você selecionar. Você também pode escrever as suas. Isso equivale a destacar a função e acionar o Command.
* Se você clicar em `Docstring`, o Devin Desktop gerará uma docstring para você acima da declaração da função.
  (Em Python, a docstring será gerada corretamente *abaixo* da declaração da função.)

<Frame caption="Incentivando código legível e de fácil manutenção, uma docstring por vez.">
  <video autoPlay muted loop playsInline src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/jetbrains_docstrings.mp4?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=b6bae5d1ae9f6507e2af0661164073fd" data-path="desktop/assets/jetbrains_docstrings.mp4" />
</Frame>

<div id="smart-paste">
  ## Smart Paste
</div>

Este recurso permite copiar código e colá-lo em um arquivo no seu IDE que esteja em uma linguagem de programação diferente.
Use `⌘+⌥+V` (Mac) ou `Ctrl+Alt+V` (Windows/Linux) para acionar o Smart Paste.
Nos bastidores, o Devin Desktop detecta a linguagem do arquivo de destino e usa o Command para traduzir o código da sua área de transferência.
A compreensão de contexto do Devin Desktop vai tentar adaptá-lo ao seu código, por exemplo, usando os nomes corretos de variáveis.

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

Alguns casos de uso possíveis:

* **Migrando código**: você está reescrevendo JavaScript para TypeScript ou Java para Kotlin.
* **Colando do Stack Overflow**: você encontrou uma função utilitária online escrita em Go, mas está usando Rust.
* **Aprendendo uma nova linguagem**: você tem curiosidade sobre Haskell e quer ver como seu código ficaria se fosse escrito nela.
