智能感知未在 VSCode 中触发 Dart/Flutter

Posted

技术标签:

【中文标题】智能感知未在 VSCode 中触发 Dart/Flutter【英文标题】:Intellisense not triggering in VSCode for Dart/Flutter 【发布时间】:2019-12-23 19:37:37 【问题描述】:

在过去一两周内,IntelliSense 刚刚停止为我正在处理的颤振项目自动触发。如果我点击 cmd+space,IntelliSense 菜单将弹出给定上下文的正确项目。但它本身并没有显示出来

我不记得更改任何设置,但它非常烦人,我正在寻找一种方法来恢复旧行为。

例如,在一个小部件的构造函数中,智能感知不会弹出命名参数。

或者只是换行并开始输入几个字符,即使有有效的 IntelliSense 项,也不会弹出任何内容。

【问题讨论】:

我正在使用 VSCode 并且有同样的问题。它没有给我上下文中的项目,只是与那个小部件/方法有关的一切...... 我找到了this,也许这对你有帮助? 我试过重启,甚至重启macos。似乎没有什么可以为我解决它:( 【参考方案1】:

我的工作区设置是在路上的某个地方创建的,其中只有这一行:

"editor.quickSuggestions": false,

这显然导致快速建议停止显示。这不在一般的 vscode 设置中,所以我什至没有注意到它。

不知道这是如何添加的。

【讨论】:

你在哪里添加这个?谢谢 @jennie788 - 您可以将其包含在settings.json 文件的"[dart]": 部分中。 作为记录,我的 quickSuggestions 被设置为 null,原因我不知道,并且恢复为 true 并重新启动 VSCode 的效果为 0。我的 Dart macOS 上的 Intellisense 仍然被破坏:(【参考方案2】:

尝试在 VS Code/Dart 设置中启用“Preview LSP”选项,然后重新加载 VS Code。

【讨论】:

【参考方案3】:

我还成功地从我的设置中删除了一个空的飞镖专用块并重新启动 VSCode。

    Cmd+Shift+P 输入“settings.json” 选择“打开设置 (JSON)”

我的飞镖条目如下所示:

  "[dart]": 
       // "editor.tabSize": 2,
       // "editor.insertSpaces": true,
       // "editor.detectIndentation": false,
    ,

删除、保存、重启后一切正常

Mac OS 大苏尔:11.2.3 VS代码:1.54.1 Flutter 1.22.6 • 通道稳定 • https://github.com/flutter/flutter.git 框架 • 修订 9b2d32b605(7 周前) • 2021-01-22 14:36:39 -0800 引擎 • 修订版 2f0af37152 工具• Dart 2.10.5

【讨论】:

【参考方案4】:

就我而言,我从settings.json 中删除了dart 块。重启VS,瞧!

【讨论】:

【参考方案5】:

昨天我也发生了同样的事情,dart分析服务器不工作,我尝试重新启动VS Code,尝试使用android Studio没有任何效果,使用flutter doctor命令检查发生了什么,它下载了新的Dart SDK,因此之后问题解决了。

【讨论】:

【参考方案6】:

可能是您需要更新 Flutter。我以前见过这样的问题,更新已经解决了这个问题。但是,我建议您点击此链接 https://gitter.im/dart-code/Dart-Code 并与我相信为 VSCode 开发 Dart 扩展的 Danny Tuppeny 聊天。我相信他能帮上忙。

【讨论】:

【参考方案7】:

如果 "editor.quickSuggestions": true," 对您不起作用,请尝试在您的 settings.json 的 [dart] 部分中添加以下语句

"editor.suggestOnTriggerCharacters": true

【讨论】:

【参考方案8】:

我遇到了这个问题,但只是针对一个项目。我的解决方案如下:

    我正在开发一个Flutter Web 项目,但不知何故我的频道切换回了主频道。所以我把它切换回flutter channel beta。 然后我跑了Flutter upgrade。 它仍然无法正常工作,所以我不得不重新启动 VS,然后打开一个关闭之前在 VS 中打开的所有打开的编辑器的组合。

一旦我这样做了,智能感知就回来了,但只有 1 行。我能够通过拖动和扩展工具提示弹出窗口来扩展智能感知弹出窗口来解决这个问题。这是VS Code 1.5.1 中添加的一项新功能,可能是此问题的根本问题。此功能的说明在这里:

https://code.visualstudio.com/updates/v1_51#_intellisense

最后,我无需在settings.json 文件中添加任何内容即可修复它。

【讨论】:

【参考方案9】:

在 VsCode 中,在它的底部有一条蓝线,其中没有选择语言模式。悬停在您填写的图标和文本上找到它并选择它会显示弹出“选择语言模式”......只需从中选择 Dart,智能感知将开始工作。您不必删除任何飞镖设置。

【讨论】:

以上是关于智能感知未在 VSCode 中触发 Dart/Flutter的主要内容,如果未能解决你的问题,请参考以下文章

禁用 VSCODE 中默认打字稿库的智能感知

这个 VSCODE 智能感知是从哪里来的?

如何在 VSCode 中智能感知别名模块路径

VSCode/MinGW 智能感知不适用于 C++

VSCode 智能感知充斥着 typescript 中的 css 类

如何在 vscode 中使用自己的 javascript 文件获取智能感知