Tabs Intellij仅在复制期间将制表符转换为空格

Tabs Intellij仅在复制期间将制表符转换为空格,tabs,intellij-idea,ide,formatting,indentation,Tabs,Intellij Idea,Ide,Formatting,Indentation,如何仅在Intellij中的复制操作期间将制表符转换为空格 我在代码中使用标签,在我通常的工作区中显示为4格宽。但是,有时我需要将代码粘贴到网页或论坛中。如果网页有4个空格的标签,但有些论坛使用8个空格的标签,导致缩进过多,那么这一点就行了 我想复制Intellij编辑器中的代码,并让它根据我的显示首选项将选项卡转换为文本剪贴板副本中的空格,而不是编辑器本身中的代码。这样我就可以将空格缩进的代码粘贴到web论坛中。有什么方法可以做到这一点吗?一种方法是使用宏 下面的宏根据IntelliJ中的显示

如何仅在Intellij中的复制操作期间将制表符转换为空格

我在代码中使用标签,在我通常的工作区中显示为4格宽。但是,有时我需要将代码粘贴到网页或论坛中。如果网页有4个空格的标签,但有些论坛使用8个空格的标签,导致缩进过多,那么这一点就行了


我想复制Intellij编辑器中的代码,并让它根据我的显示首选项将选项卡转换为文本剪贴板副本中的空格,而不是编辑器本身中的代码。这样我就可以将空格缩进的代码粘贴到web论坛中。有什么方法可以做到这一点吗?

一种方法是使用宏

下面的宏根据IntelliJ中的显示设置将所选代码中的“缩进到空格”转换,将其复制到剪贴板,然后撤消转换,恢复IntelliJ中的更改

手动创建宏
  • 选择一段代码,然后
  • 编辑->宏->开始宏录制
  • Edit->Convert Indents->To Spaces
  • Ctrl+C
  • Ctrl+Z
  • 编辑->宏->停止宏录制
  • 输入宏的名称,例如:复制间隔代码
  • 导入此宏 如果您以前没有创建过宏,只需将以下内容转储到.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->“复制间隔代码”或“播放最后一个宏”

    或者,像这样为其指定键盘快捷键可能更简单(请注意,您可以直接在“设置”中搜索“复制间隔代码”,而不是先转到“键映射”,然后在那里搜索):


    一种方法是使用宏

    下面的宏根据IntelliJ中的显示设置将所选代码中的“缩进到空格”转换,将其复制到剪贴板,然后撤消转换,恢复IntelliJ中的更改

    手动创建宏
  • 选择一段代码,然后
  • 编辑->宏->开始宏录制
  • Edit->Convert Indents->To Spaces
  • Ctrl+C
  • Ctrl+Z
  • 编辑->宏->停止宏录制
  • 输入宏的名称,例如:复制间隔代码
  • 导入此宏 如果您以前没有创建过宏,只需将以下内容转储到.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->“复制间隔代码”或“播放最后一个宏”

    或者,像这样为其指定键盘快捷键可能更简单(请注意,您可以直接在“设置”中搜索“复制间隔代码”,而不是先转到“键映射”,然后在那里搜索):


    谢谢@TylerDurden:)谢谢@TylerDurden:)