VSCode安装GitLens后difftool显示红色下划线报错但代码运行正常如何解决
问题原因
该报错是GitLens生成的diff临时文件没有被VSCode的TypeScript语言服务关联到原项目的tsconfig.json配置导致的,正常打开的工作区文件可以匹配到项目的TS配置规则,因此不会出现误报。
解决方案
- 优先开启GitLens的仓库上下文识别功能:打开VSCode设置(快捷键
Ctrl+,/Cmd+,),搜索GitLens > Diff: Enable Repository Detection,勾选该选项,开启后GitLens会自动把diff预览的临时文件关联到原仓库的配置上下文。 - 若上述设置不生效,再找到
GitLens > Diff: Revive File选项并勾选,让diff预览文件复用原工作区文件的语言服务配置。 - 若仍存在误报,可调整TypeScript语言服务的工作范围:打开工作区下的
.vscode/settings.json文件,添加如下配置:
{ "typescript.allowTextChangesInNewFiles": true, "typescript.workspaceSymbols.scope": "allOpenProjects" }
- 如果你不需要在diff视图中显示代码诊断,也可以直接屏蔽GitLens临时文件的错误检查:在VSCode设置中搜索
Diagnostics: Ignore Patterns,添加gitlens://**规则即可。 - 最后可以尝试把GitLens插件和VSCode本体更新到最新稳定版,部分旧版本GitLens存在的diff上下文关联bug在新版本中已经修复。
内容的提问来源于stack exchange,提问作者Ninh Khương Duy
相关产品推荐
相关产品推荐

