Visual Studio Code Go To Definition 功能无法正常工作

3

我正在使用 NextJS 开发一个简单的 Node.js 项目,但在 vscode 中,Go To Definition 功能无法正常工作。

我制作了一个小视频,展示了 Visual Studio CodeWebStorm 之间的差异,其中 WebStorm 能够完美地开箱即用,无需安装任何扩展。

有人知道为什么在视频中所示的情况下无法正常工作吗?
需要提醒一下,其他的 Go To Definition(如导入或其他局部变量)都能够正常工作。

以下是已安装的 vscode 扩展:

Extensions installed on WSL: Ubuntu:
2gua.rainbow-brackets
aaron-bond.better-comments
alefragnani.Bookmarks
Anjali.clipboard-history
BendixMa.dart-data-class-generator
BriteSnow.vscode-toggle-quotes
christian-kohler.path-intellisense
Dart-Code.dart-code
Dart-Code.flutter
DavidAnson.vscode-markdownlint
dbaeumer.vscode-eslint
deque-systems.vscode-axe-linter
eamodio.gitlens
EditorConfig.EditorConfig
esbenp.prettier-vscode
FelixAngelov.bloc
formulahendry.auto-close-tag
formulahendry.auto-rename-tag
Gruntfuggly.todo-tree
IbrahimCesar.ibrahimcesar-nextjs-developer-pack
jeroen-meijer.pubspec-assist
jpoissonnier.vscode-styled-components
k--kato.intellij-idea-keybindings
leodevbro.blockman
luanpotter.dart-import
MariusAlchimavicius.json-to-ts
meganrogge.template-string-converter
mhutchie.git-graph
mikestead.dotenv
ms-vscode.vscode-typescript-tslint-plugin
naco-siren.gradle-language
naumovs.color-highlight
oderwat.indent-rainbow
Orta.vscode-jest
PKief.material-icon-theme
PulkitGangwar.nextjs-snippets
quicktype.quicktype
rangav.vscode-thunder-client
richie5um2.vscode-sort-json
shardulm94.trailing-spaces
shd101wyy.markdown-preview-enhanced
sleistner.vscode-fileutils
streetsidesoftware.code-spell-checker
VisualStudioExptTeam.vscodeintellicode
1个回答

0

我遇到了与类似的问题。

  • 对于go-to-definition没有起作用;
  • 上下文菜单缺少 go-to-definition选项。

对于go-to-definition按预期工作(见下图)

vs-code-go-to-definition-java-works

我首先修复了Visual Studio Code 1.73.1问题-对象未定义,但问题仍然存在

修复go-to-definition用于

Omnisharp Wiki - 故障排除:'无法找到.NET Core SDK。'错误给出了这些提示

  1. 使用C:\where.exe dotnet检查dotnet的路径
    • 在我的情况下,返回了两个路径:
    • C:\Program Files\dotnet\dotnet.exe
    • C:\Program Files (x86)\dotnet\dotnet.exe
  2. 使用C:\>echo %PATH%检查环境变量路径
    • 在我的情况下,上述两个路径都有两个条目
  3. 使用C:\SystemPropertiesAdvanced.exe更改环境变量
    • 我删除了x86 dotnet.exe的路径

来自Troubleshooting页面

在64位环境下,如果32位dotnet路径在Environment PATH变量中排在64位dotnet路径之前,则无法发现.NET SDK。尝试完全从PATH变量中删除32位路径,然后重新启动VS Code,以查看是否解决了您的问题。

Omnisharp设置

我还在Omnisharp设置中添加了路径。

Visual Studio Code - Settings for omnisharp set to dotnet path

我做了什么来解决它?

  1. 移除了指向 x86 版本的环境变量
  2. 添加了 omnisharp 设置中的路径
  3. 重启了系统

对于 go-to-definition 怎么处理?

我建议检查是否安装了两个版本,并指定扩展使用正确的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接