gpt4 book ai didi

github - Atom/Github 删除文件结尾换行符

转载 作者:行者123 更新时间:2023-12-04 03:13:28 41 4
gpt4 key购买 nike

使用 Atom 1.14.3,我有 whitespace 包来处理在文件末尾自动插入换行符。

即使我删除结束换行符并点击保存,它也会重新添加换行符。这很好。

enter image description here

空白包配置似乎没问题:

enter image description here

问题是,当我提交到 Github 时,它说换行符已被删除:

enter image description here

这是为什么?是 Atom 问题,还是潜在的本地 github 设置问题?


编辑:不知何故,我需要禁用 whitespace 包,在文件末尾手动添加两个 CRLF,然后提交给 Github 以在文件末尾获取单个 CRLF。

enter image description here

最佳答案

我认为您可能误解了换行符的位置。

让我们看看您的两个屏幕截图,以及每个屏幕换行符的位置。

screenshot 1

233    return router;\n
234 };\n

这里我们将 234 作为文件的最后一行。我们显示了第 235 行,但那是因为第 234 行的换行符为您的编辑器光标创建了下一行。如果您开始在 235 上打字,您将创建更多内容。但是现在,235 是一个空行(包括没有终止换行符)。

screenshot 2

233    return router;\n
234 };\n
235 \n

这很相似,只是它还有一个以换行符结尾的空行 235。现在,无换行符的空输入行已移动到 236。

当您在 whitespace 包处于事件状态的情况下保存时,它会删除文件末尾的无关换行符,只留下一个。如第一个屏幕截图所示。但是,当您查看 Github diff 时,情况略有不同。 Github 向您显示文件内容,而不是在编辑器中。所以没有理由为你的光标设置幻象的最后一行。相反,它向您展示了事情的简单真相:第 234 行是文件中的最后一行。第 235 行现在消失了。

让我们看一下空白包的设置。具体第一个设置:

Ensure Single Trailing Newline

If the buffer doesn't end with a newline character when it's saved, then append one. If it ends with more than one newline, remove all but one. To disable/enable for a certain language, use syntax-scoped properties in your config.cson.

这里再次是描述的前两句,并添加了一些重点:

If the buffer doesn't end with a newline character when it's saved, then append one. If it ends with more than one newline, remove all but one.

关于github - Atom/Github 删除文件结尾换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43052279/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com