1

Intellij でのみコピー操作中にタブをスペースに変換するにはどうすればよいですか?

コードでタブを使用しており、通常のワークスペースでは 4 スペース幅で表示されています。ただし、コードを Web ページやフォーラムに貼り付ける必要がある場合があります。Web ページにスペース 4 個のタブがあるかどうかを調べるにはこれで機能しますが、一部のフォーラムではスペース 8 個のタブが使用されているため、過度のインデントが発生します。

Intellij エディターでコードをコピーし、エディター自体のコードではなく、テキストのクリップボード コピーでのみ、表示設定に従ってタブをスペースに変換したいと考えています。そうすれば、スペースでインデントされたコードを Web フォーラムに貼り付けることができます。これを行う方法はありますか?

4

1 に答える 1

4

それを行う 1 つの方法は、マクロを使用することです。

以下のマクロは、IntelliJ の表示設定に従って、選択したコードの「インデントをスペースに」変換し、それをクリップボードにコピーしてから、IntelliJ の変更を元に戻して変換を元に戻します。

マクロを手動で作成する

  1. コードのスニペットを選択してから、
  2. Edit -> Macros -> Start Macro Recording
  3. Edit -> Convert Indents -> To Spaces
  4. Ctrl + C
  5. Ctrl + Z
  6. 編集 -> マクロ -> マクロ記録の停止
  7. マクロの名前を入力します。たとえば、次のように入力します。

また

このマクロをインポート

以前にマクロを作成したことがない場合は、以下を .IntelliJIdea12\config\options\macros.xml にダンプしてください。

<?xml version="1.0" encoding="UTF-8"?>
<application>
  <component name="ActionMacroManager">
    <macro name="Copy spaced code">
      <shortuct text="alt E" />
      <action id="ConvertIndentsToSpaces" />
      <action id="EditorCopy" />
      <action id="$Undo" />
    </macro>
  </component>
</application>

マクロの使用

フォーラムの投稿に貼り付けたいコードを選択して、次の操作を行います。

またEdit -> Macros -> 'Copy spaced code' OR 'Playback Last Macro'

または、次のようにキーボード ショートカットを割り当てる方が簡単かもしれません (最初にキーマップに移動してから検索する代わりに、[設定] で [間隔を空けたコードのコピー] をすぐに検索できることに注意してください):

ここに画像の説明を入力

于 2013-10-16T13:17:02.543 に答える