Visual Studio Code Intellisense 停止处理 C# 文件

Visual Studio Code Intellisense stopped to work on C# files

我意识到我无法使用 ctrl + . 快捷方式导入其他 C# 类。此快捷方式适用于其他文件类型,如打字稿。

我已经卸载并重新安装了。我也安装了旧版本的 VS 代码。但没有任何效果。

如上所示,当我执行 ctrl + . 时没有显示导入功能。这些只是给我的选择。没有它也很好用,但是导入那些手动输入的文件也很烦人。

您是否尝试过清除 Visual Studio 缓存?在尝试此操作之前,请确保 Visual Studio 已关闭。它通常位于:C:\Users\Your User Name\AppData\Local\Microsoft\VisualStudio\

此缓存很容易损坏,并且在重新安装之间通常不会被清除。

此外,如果之前的方法不起作用,请尝试清除临时目录 - C:\Users\Your 用户 name\AppData\Local\Temp

还有一些要检查的内容

  • 检查工具-> 选项-> 环境-> 键盘中的键盘布局设置是否设置为 Visual C# 2005

  • 在“工具”->“选项”->“文本编辑器”->“C#”->“格式”中检查 IntelliSense 设置,以查找可能导致默认设置更改的任何内容

希望对您有所帮助!

VS Code 中的 C# 语言功能由名为 OmniSharp 的服务提供。

您可以尝试几件事:

A) 重启 OmniSharp

  1. 打开命令面板(Ctrl + Shift + P)
  2. 类型Omnisharp: Restart OmniSharp

B) 查看 OmniSharp 日志

  1. 打开输出面板(Ctrl + ')
  2. Select OmniSharp Log 从下拉列表中)

C) 启用 OmniSharp 日志记录

  1. Enabling C# debugger logging 在 Omnisharp

    "configurations": [
        {
            "...": "...",
            "logging": {
                "engineLogging": true
            }
        },
        { "...": "..." }
    ]
    

我遇到过类似的情况。在我的例子中,我有几个 .csproj 文件和一个解决方案文件。确保将所有 .csproj 文件添加到 .sln 文件。

dotnet sln add <.csproj file path>.

确保重新启动 omnisharp。 在 Mac -> (command + shift + p => select Omnisharp: 重启 OmniSharp)

在我的案例中,解决这个问题的方法是,在 Unity 中,设置 Edit -> Project Settings -> Player -> Other Settings -> Api Compatibility Level 到 .NET 4.x.

在某些情况下可能不合适,并且表明我的 Omnisharp/VS Code 设置中存在另一个问题,但以防万一它对某人有所帮助。