在VSCode中的列处自动硬包装线

Bri*_*ker 68 visual-studio-code vscode-settings

如何在VSCode中自动硬包裹线?我的意思是,如果一行到达指定的列,则自动在最靠近该列的单词边界处插入换行符而不进行操作.Vim有一个名为textwidth的设置,我喜欢在编辑Markdown时使用它.据我所知,它似乎不像VSCode.它只是控制软包装的方法.

oli*_*obk 86

VSCode不支持开箱即用.但是您可以安装Rewrap扩展程序,它允许您通过按Alt+ 来格式化光标当前所在的块Q.

Rewrap 不需要进一步设置,因为它读取VSCode的设置以获取要中断的列.

虽然Rewrap不是自动的(你需要在想要格式时按下键盘快捷键),自动硬包装似乎将成为下一Rewrap版本中的一个功能:https://github.com/stkb/Rewrap/issues/45

  • 值得一提的是,它与 MarkDown 配合得非常好❤ (4认同)
  • 将此标记为已接受的答案并进行编辑以提及它现在支持自动重新包装! (3认同)
  • 似乎这仅适用于块评论?代码行呢?我尝试了 1.9.1 的最新版本,并且块注释确实会自动包装,但是对于代码行(我使用的是 C 语言),它不会。 (3认同)
  • 正如@YusufHusainy 指出的那样,我无法用 ReWrap 包装代码行。 (3认同)

wli*_*usr 26

不幸的是,VSCode还没有这个功能.但是,我们仍然可以使它像vim自动包装一样美观.


第一步

我们需要在VSCode中设置软自动换行功能.

  1. 通过打开VSCode设置Code => Preferences => Settings.
  2. 添加这3行编辑器设置.

    "editor.wordWrap": "wordWrapColumn",
    "editor.wrappingIndent": "same",
    "editor.wordWrapColumn": n
    
    Run Code Online (Sandbox Code Playgroud)

    不要忘记用您喜欢的列长线更改(n).对我来说,将它设置为60感觉更舒服.

  3. 保存此设置.

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


第二步

我们需要为VSCode安装Vim仿真并进行设置vim textwidth.

  1. 通过VSCode扩展安装Vim仿真.
  2. 通过打开VSCode设置Code => Preferences => Settings.
  3. 添加此行的vim设置.

    "vim.textwidth": n,
    
    Run Code Online (Sandbox Code Playgroud)

    不要忘记用您喜欢的列长线更改(n).对我来说,我会在第一步中将其设置为与(n)相同.

  4. 保存此设置.


实际使用

完成整个文档的编写后,可以使用这种方式将其格式化为硬包装线.

  1. 使用可视线模式阻止所有文本(Shift+ v)
  2. 输入'gq'


Aru*_*tri 10

现在,VSCode支持自动包装。

设置->文本编辑器->最后3个选项(与今天一样)用于自动包装。

  1. 自动换行(控制换行方式)
  2. 自动换行列(控制编辑器的自动换行列)
  3. 换行缩进(控制换行的缩进)

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

  • 这是用于“软”换行,也就是在编辑器中显示时换行,而不是换行实际文本。 (3认同)
  • 由于问题标题和问题描述中均提到了“**硬**”换行一词,因此我将对该答案投反对票。 (2认同)

Mar*_* Jr 6

目前 GitHub 上的 VS Code 问题跟踪器中有一个对此的开放请求,您可以在此处找到它


jab*_*tta 6

硬包装评论

使用重新包装扩展

软包装代码

添加以下设置(用您的偏好替换列宽): "editor.wordWrapColumn": 100

然后添加"editor.wordWrap": "wordWrapColumn"(环绕列)或"editor.wordWrap": "bounded"(环绕列或视口)。

硬包装注释和软包装代码

不幸的是,扩展和 VSCode 设置不能很好地发挥作用。

随意upvote这个功能请求


ACV*_*ACV 5

截至 2020 年,如果您正在使用该Prettier - Code formatter插件:

Go to Plugins -> Find Prettier -> Cog -> Extension Settings -> Prettier: Print Width Fit code within this line limit并设置为您想要的任何内容。默认为 80。

保存文件时,Prettier 将自动格式化。

  • 这对于代码来说非常有效。为了使其也格式化 Markdown 文件,请将 `proseWrap` 设置为 `always` (默认为 `preserve`)。 (3认同)