这个问题可能以前被问过但我无法找到任何解决方案。
当我浏览并看到一些我想复制的代码时,我只需使用Ctrl+C和Ctrl+ V。大多数情况下,这种方法都很好用,但在某些情况下(像 StackOverflow 和其他一些网站),当我复制并粘贴代码时,它只会出现在 Eclipse 中的一行上。我尝试将此代码粘贴到 Eclipse 中,然后选择全部,然后选择自动格式化,但这也无济于事。我还将代码粘贴到 Komodo 和 Word 中,结果相同。代码根本无法自行对齐。
有人知道这个问题的解决办法吗?
答案1
我尝试了这个并且成功了:
将代码复制到能够理解并正确格式化行更改的 Word 文档中,然后复制该 Word 文档并将其粘贴到 Eclipse 中。
希望能帮助到你!
答案2
我用的是Chrome 扩展程序名为 CoFoCo 的插件可以同时格式化和复制 JavaScript/TypeScript 代码。它让我免于对大代码块进行大量手动编辑。
安装后,我可以:
- 在扩展弹出菜单中指定可选的 Prettier 配置来设置自定义格式选项(每个选项卡有多少个空格、是否添加尾随逗号等)
- 突出显示 StackOverflow(或其他网站)上的代码块并右键单击它
- 在下拉菜单中(包含“返回”、“另存为”和“检查”选项),现在有一个 CoFoCo 选项。单击它将根据提供的 Prettier 配置(如果未提供,则基于默认配置)格式化代码块并将其复制到剪贴板。
- 然后粘贴到编辑器或文档中的代码块应该被格式化
答案3
我不太愿意把这个作为答案发布出来,因为我没有测试过,而且我自己也很少遇到这个问题。然而,在少数情况下,我遇到这些问题时,我可以通过粘贴到能够理解多种行尾形式的编辑器中来解决它。通常我使用 vim 来解决这个问题,但我认为 wordpad 和 notepad++ 也可以。这可以作为偶尔的解决方法。这不是我认为的“正确”解决方案
需要一些背景知识来解释为什么这样做会有效:
在机械打字机时代,您会在一行上输入所有文本。当您到达该行末尾时,您通常想做两件事:
- 将车头返回到行首
- 将纸张滚动一行,以便下一篇文本从其下方开始。
这些被称为 CR 和 LF。(回车符和换行符)。
计算机需要类似的东西。大多数基于 UNIX 的系统都使用换行符。然而 Windows 决定同时使用 CR LF 来标记行尾。更令人困惑的是,Macintosh 只使用了 CR。