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

# Refactor, docstring e altro

> Usa le funzionalità basate su Command, come le code lens per il refactor, la generazione di docstring e Smart Paste per tradurre il codice da un linguaggio all'altro.

Command semplifica alcune operazioni comuni.

<div id="function-refactors-and-docstring-generation">
  ## Refactor delle funzioni e generazione di docstring
</div>

Sopra le funzioni e le classi, Devin Desktop mostra delle *code lens*,
ovvero piccole etichette di testo cliccabili che attivano le funzionalità di IA di Devin Desktop per l'elemento etichettato.

<Tip>Puoi disattivare le code lens facendo clic sulla `✕` a destra del relativo testo.</Tip>

In particolare, le code lens `Refactor` e `Docstring` invocano Command.

* Se fai clic su `Refactor`, Devin Desktop ti mostrerà un menu a discesa con istruzioni precompilate tra cui scegliere.
  Puoi anche scriverne di tue. Equivale a selezionare la funzione e invocare Command.
* Se fai clic su `Docstring`, Devin Desktop genererà una docstring sopra l'intestazione della funzione.
  (In Python, la docstring verrà generata correttamente *sotto* l'intestazione della funzione.)

<Frame caption="Per un codice leggibile e manutenibile, una docstring alla volta.">
  <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>

Questa funzionalità ti consente di copiare del codice e incollarlo in un file del tuo IDE scritto in un linguaggio di programmazione diverso.
Usa `⌘+⌥+V` (Mac) o `Ctrl+Alt+V` (Windows/Linux) per invocare Smart Paste.
Dietro le quinte, Devin Desktop rileva il linguaggio del file di destinazione e usa Command per tradurre il codice presente negli appunti.
La comprensione del contesto di Devin Desktop cercherà di adattarlo al tuo codice, per esempio facendo riferimento ai nomi corretti delle variabili.

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

Alcuni possibili casi d'uso:

* **Migrazione del codice**: stai riscrivendo JavaScript in TypeScript, oppure Java in Kotlin.
* **Incollare codice da Stack Overflow**: hai trovato online una funzione di utilità scritta in Go, ma stai usando Rust.
* **Imparare un nuovo linguaggio**: sei curioso di Haskell e vuoi vedere come apparirebbe il tuo codice se fosse scritto in quel linguaggio.
