如何阻止VS Code在Linux Mint 18中自动给单行命令添加括号?
解决VS Code自动给单行命令添加括号的问题
我之前也碰到过VS Code自动给单行代码加括号的烦人事儿,在Linux Mint上也折腾过,给你几个靠谱的解决办法:
1. 先关闭"输入时自动格式化"功能
这是最直接的排查步骤,很多时候是自动格式化在搞鬼:
- 打开VS Code设置:按下
Ctrl+,快捷键,或者点击左下角的齿轮图标选择「Settings」 - 在搜索框输入
Editor: Format On Type,把这个选项的勾选去掉 - 顺便也可以检查下
Editor: Format On Save,如果不需要自动保存格式化也可以关掉,避免后续触发
2. 针对特定语言调整格式化规则(以Python为例,最常见场景)
如果是写Python时出现的问题,大概率是你用的格式化工具(比如black、autopep8)的规则导致的:
- 在设置里搜索
python.formatting.provider,如果当前选的是某个工具(比如black),可以先改成none临时禁用,看看括号问题是否消失 - 如果不想完全禁用格式化,以black为例:在设置里添加配置项
"python.formatting.blackArgs": ["--no-parentheses"],这个参数会让black不再给单行表达式自动加括号
3. 排查第三方扩展
有些代码补全、lint类的扩展也可能偷偷给代码加括号:
- 打开扩展面板(
Ctrl+Shift+X),先禁用所有近期安装的扩展,然后逐个启用,同时测试代码输入,找到导致问题的那个扩展 - 找到后,可以去该扩展的设置页面看看有没有关闭自动添加括号的选项,或者直接禁用它(如果不是必须的话)
4. 针对Shell脚本等其他语言的调整
如果是写Shell命令时出现的问题:
- 搜索
shellformat相关设置,找到对应的格式化工具(比如shfmt),调整它的参数,添加禁止自动加括号的选项,比如在设置里配置"shellformat.args": ["-kp"](具体参数可根据工具规则微调)
内容的提问来源于stack exchange,提问作者sjiamnocna
相关产品推荐
相关产品推荐

