如何在VSCode中自动硬换行?我的意思是,如果一行到达了指定的列,自动在最接近该列的单词边界处插入换行符,而不会越过。Vim有一个叫做textwidth的设置,我喜欢在编辑Markdown时使用它。据我所知,VSCode并没有这样做。它只是有办法控制软件。


当前回答

不幸的是,VSCode还没有这个功能。但是,我们仍然可以使它与vim的自动换行功能一样美观。


第一步

我们需要在VSCode中设置软换行功能。

通过Code => Preferences => Settings打开VSCode Settings。 添加这3行编辑器设置。 “编辑器。自动换行”:“wordWrapColumn”, “编辑器。wrappingIndent”:“相同”, “编辑器。wordWrapColumn n”: 不要忘记用你喜欢的列行长度来改变(n)。对我来说,我觉得把它设置为60更舒服。 保存此设置。

这第一步的主要目的是让我们在打字时感觉更舒服,因为我们不需要手动输入Enter并看到一长行文本。


第二步

我们需要为VSCode安装Vim仿真并设置Vim文本宽度。

通过VSCode扩展安装Vim仿真。 通过Code => Preferences => Settings打开VSCode Settings。 添加这一行vim设置。 “vim。textwidth”:n, 不要忘记用你喜欢的列行长度来改变(n)。对我来说,我要在第一步中使它与(n)相同。 保存此设置。


实际使用

当你完成整个文档的写作时,你可以使用这种方法将其格式化为硬换行。

用可视线条模式阻挡所有文本(Shift + v) 类型“gq”

其他回答

目前在GitHub上的VS代码问题跟踪器中有一个开放的请求,你可以在这里找到它

现在VSCode支持自动“软”包装。

设置->文本编辑器->最后3个选项(今天)是自动换行。

换行(控制行如何换行) 换行列(控制编辑器的换行列) 换行缩进(控制换行行缩进)

默认情况下,自动换行是关闭的。

如果有人在运行时遇到问题,可能需要禁用辅助功能支持/屏幕阅读器。转到首选项>>文本编辑器>>可访问性支持,并将其关闭。

你不需要任何扩展就可以做到这一点。你只需要使用两个正则表达式搜索和替换。

通过将要重新换行的行移动到单独的文件中来隔离它们。 把所有的线连接成一条线。例如,ctrl+h, "\n" ==> " "。注意:确保regex已启用(点星号图标) 将一条线分割成多条线。例如,ctrl+h, "(.{100})==> "$1\n"。注意圆括号后面的空格。 将这些行复制回原始文件。

这种技术有很多变种。例如,您可以使用逗号代替空格"(.{100})," ==> "$1,\n"。您可以使用Find in Selection alt+L而不是使用临时文件。

不幸的是,VSCode还没有这个功能。但是,我们仍然可以使它与vim的自动换行功能一样美观。


第一步

我们需要在VSCode中设置软换行功能。

通过Code => Preferences => Settings打开VSCode Settings。 添加这3行编辑器设置。 “编辑器。自动换行”:“wordWrapColumn”, “编辑器。wrappingIndent”:“相同”, “编辑器。wordWrapColumn n”: 不要忘记用你喜欢的列行长度来改变(n)。对我来说,我觉得把它设置为60更舒服。 保存此设置。

这第一步的主要目的是让我们在打字时感觉更舒服,因为我们不需要手动输入Enter并看到一长行文本。


第二步

我们需要为VSCode安装Vim仿真并设置Vim文本宽度。

通过VSCode扩展安装Vim仿真。 通过Code => Preferences => Settings打开VSCode Settings。 添加这一行vim设置。 “vim。textwidth”:n, 不要忘记用你喜欢的列行长度来改变(n)。对我来说,我要在第一步中使它与(n)相同。 保存此设置。


实际使用

当你完成整个文档的写作时,你可以使用这种方法将其格式化为硬换行。

用可视线条模式阻挡所有文本(Shift + v) 类型“gq”