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

时间:2017-03-30 15:29:12

标签: visual-studio-code vscode-settings

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

6 个答案:

答案 0 :(得分:61)

VSCode不支持开箱即用。但是您可以安装<script src="......../assets/js/jquery-3.2.1.min.js?ver=3.2.1"></script> <script src="......../assets/bs/js/bootstrap.min.js?ver=20170722"></script> 扩展名,它允许您通过按 Alt + Q 格式化光标当前所在的块。

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

虽然Rewrap不是自动的(您需要在想要格式化时按键盘快捷键),但自动硬包装似乎是下一个Rewrap版本中出现的一项功能:{{ 3}}

答案 1 :(得分:17)

不幸的是,VSCode还没有此功能。但是,我们仍然可以使它与vim automatic word wrapping美丽的特征一样接近。

第一步

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

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

    "editor.wordWrap": "wordWrapColumn",
    "editor.wrappingIndent": "same",
    "editor.wordWrapColumn": n
    

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

  3. 保存此设置。

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

    第二步

    我们需要安装Vim emulation for VSCode并设置vim textwidth

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

      "vim.textwidth": n,
      

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

    4. 保存此设置。

    5. 实际使用

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

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

答案 2 :(得分:3)

现在VSCode支持自动包装。

设置->文本编辑器->后3个选项(如今天)是自动包装的。

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

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

答案 3 :(得分:2)

从2020年开始,如果您使用的是Prettier - Code formatter插件:

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

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

答案 4 :(得分:1)

目前在GitHub上的VS Code Issue跟踪器中有一个Open请求,You Can Find It Here

答案 5 :(得分:0)

硬包装评论

使用Rewrap extension

软包装代码

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

然后添加"editor.wordWrap": "wordWrapColumn"(在列中包装)或"editor.wordWrap": "bounded"(在列或视口中包装)。

硬包装注释和软包装代码

不幸的是,扩展名和VSCode设置不能很好地播放。

随时使用upvote this feature request