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

# Refactorizaciones, docstrings y más

> Usa funciones de Command, como code lens para refactorizar, generar docstrings y Smart Paste para traducir código entre lenguajes.

Command agiliza algunas operaciones comunes.

<div id="function-refactors-and-docstring-generation">
  ## Refactorización de funciones y generación de docstrings
</div>

Encima de las funciones y clases, Devin Desktop muestra *code lenses*,
pequeñas etiquetas de texto en las que se puede hacer clic y que invocan las capacidades de IA de Devin Desktop sobre el elemento etiquetado.

<Tip>Puedes desactivar los *code lenses* haciendo clic en la `✕` a la derecha del texto del *code lens*.</Tip>

En particular, los *code lenses* `Refactor` y `Docstring` invocan Command.

* Si haces clic en `Refactor`, Devin Desktop te mostrará un menú desplegable con instrucciones predefinidas
  entre las que puedes elegir. También puedes escribir las tuyas. Esto equivale a resaltar la función e invocar Command.
* Si haces clic en `Docstring`, Devin Desktop generará un docstring sobre el encabezado de la función.
  (En Python, el docstring se generará correctamente *debajo* del encabezado de la función).

<Frame caption="Fomentando un código legible y fácil de mantener, un docstring a la 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>

Esta función te permite copiar código y pegarlo en un archivo de tu IDE escrito en otro lenguaje de programación.
Usa `⌘+⌥+V` (Mac) o `Ctrl+Alt+V` (Windows/Linux) para activar Smart Paste.
Entre bastidores, Devin Desktop detectará el lenguaje del archivo de destino y usará Command para traducir el código de tu portapapeles.
La capacidad de Devin Desktop para entender el contexto intentará adaptarlo para que encaje en tu código, por ejemplo, usando nombres de variables adecuados.

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

Algunos casos de uso posibles:

* **Migración de código**: estás reescribiendo JavaScript en TypeScript o Java en Kotlin.
* **Pegar desde Stack Overflow**: encontraste una función utilitaria en línea escrita en Go, pero usas Rust.
* **Aprender un nuevo lenguaje**: sientes curiosidad por Haskell y quieres ver cómo se vería tu código si estuviera escrito en él.
