使用 Visual Studio 代码的 C# 中可用的“using/import”的智能感知

Intellisense for available 'using/import's in C# with Visual Studio Code

编辑:Vidual Studio Code 和 Visual Studio 是两个不同的东西。是的,这很混乱,但我知道 VS 有这个功能,我问的是 VS code.

是否有一些 extension/setting 使得 Visual Studio Code 的 c# 对所有可用命名空间具有 Intellisense,包括那些尚未导入的命名空间,然后导入他们什么时候被选中?

示例:集合尚未导入,我想输入 IEnumerable 并导入它。作为普通程序员,这非常乏味,我可能会搞砸拼写或大写,然后必须按 ctrl+.. 我只想输入 "ienu" 然后 IEnumerable 会弹出并自动完成和自动导入。

Typescript 在 VScode 中存在此功能(由于扩展),甚至在 C# 中也存在,但在 Visual Studio 中具有 Resharper 扩展。

我到处搜索此功能,但在我看来似乎不存在。老实说,没有这个编码感觉很疯狂。

如果您写下完整的关键字并且不想编写使用系统或任何库,那么对于您的问题有一些解决方案可能会有所帮助,您可以将光标放在您的关键字上并按 alt+enter 它将自动添加库。但是如果您没有使用库并且想要自动完成该库的关键字,则可以使用 re-sharper。如果您的 visual studio 没有给您自动推荐,您也可以使用 Ctrl+space

我刚刚进行了扩展:
https://marketplace.visualstudio.com/items?itemName=Fudge.auto-using#overview
目前它只支持基本的 C# 库,但如果有需要,我也可以让它使用额外的 nugget 库。 自 2020 年 11 月 24 日起,官方 C# 扩展支持此功能,请参阅其他答案。

如果您对 VSCode 使用“C# 扩展”(此 https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp

您可以尝试执行后续步骤:

  1. 右键单击 C# 扩展
  2. “扩展设置”
  3. 在打开的“设置”选项卡中,在搜索区域添加import
  4. 启用复选框 (Screenshot of this step)
  5. 享受没有“特殊”扩展名的自动导入(Screenshot)