> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# リファクタリング、docstring など

> Command 搭載のコードレンズを使ったリファクタリングや docstring の生成、Smart Paste による言語間コード変換などの機能について説明します。

Command によって、いくつかの一般的な操作をスムーズに行えます。

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

関数やクラスの定義の上に、Windsurf は「*コードレンズ*」を表示します。これは、対象に対して Windsurf の AI 機能を起動できる小さなクリック可能なテキストラベルです。

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

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

* `Refactor` をクリックすると、事前に用意された選択可能な指示がドロップダウンで表示され、そこから選べます。自分で記述することも可能です。これは、関数を選択して Command を実行するのと同等です。
* `Docstring` をクリックすると、関数ヘッダーの上にドックストリングが生成されます。
  （Python では、ドックストリングは関数ヘッダーの「下」に正しく生成されます。）

<Frame caption="読みやすく保守しやすいコードを、1 つのドックストリングから。">
  <video autoPlay muted loop playsInline src="https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/jetbrains_docstrings.mp4?fit=max&auto=format&n=d8O4q6w3H2CjrirL&q=85&s=508c5797d57e88cf7b7db1c07a1e45c7" data-path="assets/jetbrains_docstrings.mp4" />
</Frame>

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

この機能は、あるプログラミング言語のコードをコピーして、別の言語で書かれた IDE 内のファイルに貼り付けることを可能にします。
Smart Paste を起動するには、`⌘+⌥+V`（Mac）または `Ctrl+Alt+V`（Windows/Linux）を使用します。
内部では、Windsurf が貼り付け先ファイルの言語を自動検出し、クリップボード内のコードを Command で変換します。
また、Windsurf のコンテキスト認識により、適切な変数名を参照するなど、既存のコードになじむ形で書き込むよう試みます。

<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 に興味があり、自分のコードがそれで書かれたらどう見えるかを確認したいとき。
