【问题标题】:How to reset intellisense in VS Code?如何在 VS Code 中重置智能感知?
【发布时间】:2018-05-21 21:46:37
【问题描述】:

如果您在 VsCode 调试时更改代码,智能感知有时会出现故障并出现错误的编译错误。重置或更正它的最快方法是什么?

【问题讨论】:

  • 不确定它是否适用于此,但删除项目旁边的 .vs 文件夹(当 VS 关闭时)可以解决很多问题。

标签: visual-studio-code


【解决方案1】:

重启 Dart 分析服务器

好吧,因为这个问题有点笼统,并且看到人们用解决各种编程语言的方法做出回应,我将发布 Dart 的问题。

  • 打开命令面板(查看菜单 → 命令面板)
  • 键入:Dart: Restart Analysis Server 并按 Enter

就像关闭和重新打开vscode

【讨论】:

    【解决方案2】:

    我使用的是旧版本的 VS Code (1.48.1)。这个答案为我解决了文件不生成 C/C++ IntelliSense 信息的问题。如果重置 IntelliSense 还不够(Ctrl+Shift+P → C/C++: Reset IntelliSense database;它不适合我),试试这个:

    确保文件中没有红色曲线(解析错误),尤其是在 #include 指令上。解决包含问题的最佳方法是在工作区中声明更多包含目录。 (我看到了很多关于如何在系统/用户范围内执行此操作的答案,但只有关于如何在每个工作区执行此操作的不完整答案。)通过在工作区目录中生成一个 c_cpp_properties.json 文件来做到这一点(我的似乎没有已经拥有一个):Ctrl+Shift+P → C/C++: Edit Configurations (JSON)。将路径添加到includePath,直到所有包含错误在有问题的文件及其包含的所有文件中都消失。使用变量${workspaceFolder} 来引用工作区的根目录。顺便说一句,我的默认情况下在includePath 中只有${workspaceFolder}/**,它应该递归地搜索整个工作区文件夹以查找包含文件。它对我不起作用,至少在一个特定文件上。我必须在${workspaceFolder} 下显式添加更多目录,以便 VS Code 找到一些包含。我对标准库包含没有任何问题。所以,这个答案没有解决这些问题。

    您可能需要再次重置 IntelliSense 数据库并重新启动 VS Code,然后它才能开始正确显示所有 IntelliSense 信息。我还发现它似乎有助于打开它正在寻找的包含文件以帮助它找到文件。我希望这继续为我工作。到目前为止一切顺利。

    【讨论】:

      【解决方案3】:

      我遇到了以下问题:

      • 退出 VSCode
      • 禁用 C/C++ 扩展
      • C/C++ 重置 IntelliSense 数据库
      • C/C++ 重新扫描工作区

      我发现我有一堆名为cpptoolscpptools-srv 的进程正在运行。杀死所有这些并重置 VSCode 后,一切又开始工作了。

      我用来杀死它们的命令是:

      pkill cpptools
      

      在大多数情况下,使用上面的pkill 命令后,我不需要退出 VSC。

      【讨论】:

        【解决方案4】:

        在 VSCode 中,Ctrl + Shift + P 并单击 C/C++ Rescan Workspace 适合我。

        【讨论】:

        • 可能在 C/C++ 重新扫描工作区 之前需要一个 C/C++ 重置 IntelliSense 数据库,如 @Valex 答案中所示。重建也可能有所帮助。
        【解决方案5】:

        对于 C# 使用这个:

        cmd+shift+Pctrl+shift+P 调出命令栏,然后OmniSharp: restart OmniSharp。输入restart,它会提示。

        【讨论】:

          【解决方案6】:

          重启 TypeScript 语言服务

          在 VS Code 和 TypeScript 源文件中(这在 css 或 json 文件中不起作用),

          1. 打开命令面板 (查看菜单→命令面板)
          2. 输入TypeScript: Restart TS server. (输入“restart”会自动提示)

          【讨论】:

          • @RMuesi 我认为这应该是公认的答案。
          • 该命令仅在您打开 TypeScript 文件时显示!例如,在编辑 .css 文件时您不会找到它。
          • 如果您打开了一个 .cs 文件,您可以选择重新启动 OmniSharp,这会清除 c# 问题,例如文件的错误标记不正确,
          • @DrumM -- 要在 vscode 中重新启动 typescript,您必须在 typescript 文件中使用命令调色板(例如,在 css 或 json 文件中不起作用) -- 或许可以考虑将"typescript.tsdk": "node_modules/typescript/lib/" 添加到您的.vscode/settings.json 中 -- 还要确保通过npm install typescript 在项目中本地安装 typescript -- 然后重启 vs 代码 -- 当然作为一种解决方法,重启 vscode完全有效
          • 你可以进入 File > Preferences > Keyboard Shortcuts 并查找 Typescript: Restart TS Server 并给它一个键绑定(我给了我的 ctrl + PauseBreak)
          【解决方案7】:

          你可以Ctrl+Shift+P或F1,然后在命令面板中写“reset..”,在弹出列表中选择“C/C++ Reset IntelliSense database”。

          【讨论】:

          • 伙计,这甚至不适合我。似乎有一个很大的错误。我正在运行最新版本。无论我做什么,我总是得到:“找不到...的定义”
          【解决方案8】:

          【讨论】:

          • 这仍然是一个问题...在过去的三年中,我一直在为 typescript 项目重新启动 vscode,例如每天 10 次...vscode 会错误地报告定义错误,这些错误只需重新启动就会消失vscode .. 不知何故,语言服务在常规 *耸耸肩* 上失控了
          • 嘿,我发现了一些东西——View menu -> Command palette,输入restart,然后点击TypeScript: Restart TS server.
          • @ChaseMoskal 这样效率更高!
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-08
          • 1970-01-01
          • 2017-06-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多