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

# リファクタリング、Docstring 生成など

> リファクタリング用のコードレンズ、Docstring 生成、言語間のコード翻訳を行う Smart Paste など、Command を活用した機能を利用できます。

Command を使うと、一般的な操作の一部をよりスムーズに行えます。

<div id="function-refactors-and-docstring-generation">
  ## 関数のリファクタリングと Docstring の生成
</div>

関数やクラスの上には、Devin Desktop によって *コードレンズ* が表示されます。
これは小さなクリック可能なテキストラベルで、ラベルが付いた項目に対して Devin Desktop の AI 機能を呼び出します。

<Tip>コードレンズ は、テキスト右側の `✕` をクリックすると無効にできます。</Tip>

特に `Refactor` と `Docstring` の コードレンズ は、Command を呼び出します。

* `Refactor` をクリックすると、Devin Desktop によって、選択可能な事前入力済みの指示がドロップダウンで表示され、その中から選べます。独自の指示を書くこともできます。これは、関数をハイライトして Command を呼び出すのと同じです。
* `Docstring` をクリックすると、Devin Desktop は関数ヘッダーの上に docstring を生成します。
  (Python では、docstring は関数ヘッダーの *下* に正しく生成されます。)

<Frame caption="読みやすく保守しやすいコードを、docstring をひとつずつ。">
  <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>

この機能を使うと、コードをコピーして、別のプログラミング言語で書かれた IDE 内のファイルに貼り付けられます。
Smart Paste を呼び出すには、`⌘+⌥+V` (Mac) または `Ctrl+Alt+V` (Windows/Linux) を利用します。
内部では、Devin Desktop が貼り付け先ファイルの言語を検出し、Command を使ってクリップボード内のコードを変換します。
また、Devin Desktop はコードの前提情報を踏まえ、適切な変数名を参照するなど、既存のコードになじむ形で書き込もうとします。

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

想定される利用例をいくつか紹介します。

* **コードの移行**: JavaScript を TypeScript に、または Java を Kotlin に書き換えている場合。
* **Stack Overflow からの貼り付け**: オンラインで Go で書かれたユーティリティ関数を見つけたものの、使っているのは Rust という場合。
* **新しい言語の学習**: Haskell に興味があり、自分のコードをその言語で書くとどうなるか見てみたい場合。
