VS Code笔记之根据语言选择性删除行末空格

由于一直没有找到合适的Markdown编辑器,就一直用VS Code来写点东西。从VS Code发布以来就一直在用,到现在已经有了相当丰富的插件可以使用了。平时一直使用Latex Workshop、Markdown+Math和Markdown Preview Enhanced配合来写东西,用着特别顺手。

平时用VS Code写代码比较多,就在设置里面勾选了保存时自动删除文末的空格。Markdown写作当然就出现了瑕疵,最近才上心解决了这个问题。希望这个分享可以给有相同需求的同学带来一点帮助。

问题

Markdown换行机制原本就一直搞不太明白,之前都是使用另起新行来实现换行的,见下方样例一。
样例一:
代码:

1
2
3
para-1
//另起新行
para-2

效果:
para-1

para-2

后来重新看了Markdown的语法,学会了用行末空格来换行,见下方样例二。
样例二:
代码:

1
2
para-1  //这里有2个空格
para-2

效果:
para-1
para-2

很明显,另起新行的效果更偏向于另起一段,行末空格的效果才是真正的换行方式。这也就代码编辑里面的自动去除行末空格起了冲突,行末空格换行就一直没有使用。

解决方案

如果之前已经勾选了保存时自动删除文末空格,在setting.json文件中就会有下面这行代码。

1
"files.trimTrailingWhitespace": true,

VS Code支持对某一种语言自定额外规则,只需要在setting.json中的files.trimTrailingWhitespace同一级添加以下代码即可。

1
"[markdown]": {"files.trimTrailingWhitespace": false,},