vscode终端没显示_记一个VS Code终端显示问题的较完美解决

问题表现

在Windows 10上的Visual Studio Code中,通过Ctrl+`第一次启动嵌入式终端时,会在输入命令的第一个提示符前面蹦出大量空白,且第一个提示符一开始显示不出来。

系统预装的两个控制台cmd跟PowerShell 5.1均有此问题,额外加装的PowerShell Core也一样。

在开始输入命令之后,第一个提示符才会显示出来。

后面输入、执行命令都是正常的,在VS Code之外使用各种控制台也无任何问题,但又不想抛弃嵌入式终端,就不得不强忍这种诡异的显示错误。光标左侧本应是输入命令的提示,且跟上面的版权信息相隔了一大截开始输入之后,提示符才显现

系统和软件环境系统信息,是Win10 LTSC 2019版VS Code信息,基本就是最新版

问题分析与解决方案

首先,这个bug并不普遍。横向来看,本人另一台装有最新专业版Win10 1903的笔记本,同样使用VS Code没有任何问题。纵向来看,这台电脑俩月前在运行Win7时也无任何问题。考虑到该电脑是旧款硬件强上的Win10,显卡驱动适配并不好,软硬件不协调导致小的渲染bug还蛮有可能。

经某度相关问题,发现在Win10 1809系统上,这种问题最容易出现,很可能是系统控制台的问题,而我的LTSC 2019正是1809的核心。最容易查到的方案是“使用旧版控制台”,使用旧版控制台可解决上述问题,但有自断双臂之意

勾选之后问题解决!但旧版控制台对所有终端程序,包括WSL也生效,导致诸如颜色渲染、Ctrl+V粘贴、矢量字体等很多功能无法使用,有些得不偿失。但本人另外尝试的各种方法,包括调整VS Code对终端的渲染设置,禁用VS Code的GPU加速等等都无法解决问题。这就让我陷入了非常纠结的境地。

最终的思路来到了控制台启动时的版权信息那里。由于大片的空白是在打印版权信息之后,在给第一个命令提示符之前出现的,有一点把换行渲染成换页的味道。如果能让终端启动时跳过版权信息的打印,没准就能解决问题?这一点能做到吗?

随便打开一个控制台,输入powershell -?,就能看到PowerShell最基本的帮助信息啦(PowerShell Core同理,只不过程序名是pwsh)

只要我们能让VS Code在启动终端时加入这个参数,就能跳过版权信息的打印!如何实现呢?当然是翻看VS Code的设置

在UI下,这项设置指出可以为启动终端添加命令行参数,不过它没有提供直接的添加界面,只能手动向json文件中添加。先把鼠标悬停在该设置项左侧,点击出现的齿轮图标,选择“将设置复制为JSON文本”,

然后点击下面的“在settings.json中编辑”,进入文本形式的设置文件中,

在这里我们可能会看到或多或少的设置项,它们是对默认设置的覆盖。我们要添加的设置,就是上面方框中的内容,我这里是添加好的效果。完成后,终端启动效果如下,

问题解决!跳过版权信息之后大片的空白随之不见,第一个提示符也能正常显示了,也不用向旧版控制台妥协了!不了解json文件的,如果也要添加这个参数,请随便找到一行末尾,回车添加一个新行,按Ctrl+V把刚刚复制的设置项文本粘进去,

"terminal.integrated.shellArgs.windows": [],注意如果你是添加在末尾,需要在前一个设置项末尾加个逗号,否则格式不正确;如果是在中间某行,就在它自己末尾加个逗号。然后在方括号中,添加刚刚的参数"-NoLogo",注意要加上双引号,成为下面这样

"terminal.integrated.shellArgs.windows": ["-NoLogo"]按Ctrl+S保存,然后关闭这个文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值