【问题标题】:How to set crlf endings in QtCreator on linux如何在 Linux 上的 QtCreator 中设置 crlf 结尾
【发布时间】:2012-03-27 18:58:04
【问题描述】:

我想将 QtCreator 设置为在 unix 中使用 CRLF 而不是 LF。有没有办法做到这一点?

PS:我知道我可以在文件上使用 dos2unix,但我不想这样做。

【问题讨论】:

  • 这通常是通过版本控制系统来完成的,这样文件就可以在不同的平台上共享。除了跨平台的可移植性之外,您希望在 Linux 上使用 CRLF 是否还有其他原因?
  • 这正是原因,但我想避免在任何时候在 qt creator 修改的某些 windows 源上使用 diff 时使用 dos2unix。
  • 您使用的是什么版本控制系统?我使用的所有差异工具(与 Subversion 一起使用)都会自动忽略仅行尾的差异。
  • 默认情况下,VCS 尝试使用本地 EOL,但例如在 git 中,你可以覆盖默认值 - 很好 starting point could be,但要小心!

标签: qt qt-creator newline


【解决方案1】:

下一个 QtCreator 版本将有可能从工具栏更改打开文档的行尾。

根据时间的不同,我还会尝试在 QtCreator 设置中为新创建的文件设置一个默认选项。

【讨论】:

  • 为新文件设置一个默认选项确实很有帮助。
  • 完成。该选项已实施,并将在未来的版本中提供。
【解决方案2】:

这是 QtCreator 中的错误 - https://bugreports.qt.io/browse/QTCREATORBUG-3590 可能有人重新打开它。

【讨论】:

    【解决方案3】:

    一些可能性: 1. 我注意到一旦 QtCreator 在 Linux 中打开一个 CRLF 文件,它就会将其视为一个 CRLF 文件,因此您只需在该文件上运行一次 dos2unix。 2. 'diff --strip-trailing-cr ...' 有效。 3. 如cmets中所述,大多数版本控制系统都可以设置为本地或固定行结尾,因此您可以在VCS工具中而不是Creator中追查问题。

    我在 Tools->Options->Editor 下尝试了各种编码,但似乎没有一个会影响行尾(我很惊讶 Creator 似乎没有这个设置 - 但选项 4 是你可以总是获取 Creator 的源代码...)

    【讨论】:

      猜你喜欢
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多