Intellisense 在 C# 中使用 Visual Studio Code 进行可用的“使用/导入”

Posted

技术标签:

【中文标题】Intellisense 在 C# 中使用 Visual Studio Code 进行可用的“使用/导入”【英文标题】:Intellisense for available 'using/import's in C# with Visual Studio Code 【发布时间】:2019-05-26 14:33:31 【问题描述】:

编辑:Viual Studio Code 和 Visual Studio 是两个不同的东西。是的,这很令人困惑,但我知道 VS 有这个功能,我问的是 VS code

是否有一些扩展/设置使 Visual Studio Code 的 c# 对所有可用的命名空间都具有 Intellisense,包括那些尚未导入的命名空间,然后在选择时导入它们?

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

此功能存在于 VScode 中的 Typescript(感谢扩展),甚至适用于 C#,但在具有 Resharper 扩展的 Visual Studio 中。

我到处搜索了这个功能,但在我看来它似乎不存在。没有这个,写代码真的感觉很疯狂。

【问题讨论】:

@Flydog57 感谢您的编辑。只是不要在编辑摘要中重复使用 F 字,这会导致很多机器人:) reSharper 为我完美地做到了这一点 - 请参阅:imgur.com/a/JjtD9YV。不知道为什么它不适合你 【参考方案1】:

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

您可以尝试按照以下步骤操作:

    右键单击C#扩展 “扩展设置” 在打开的“设置”选项卡中,在搜索区域添加import 启用复选框 (Screenshot of this step) 无需“特殊”扩展即可享受自动导入 (Screenshot)

【讨论】:

谢谢!这就是我需要的。我不明白为什么默认情况下不启用此功能【参考方案2】:

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

【讨论】:

拥有它会很高兴! 但这并没有显示来自 nugget 包的建议【参考方案3】:

如果您编写完整的关键字并且不想编写使用系统或任何库,您可以将光标放在关键字上并按 alt +enter 它将自动添加库。但是如果您不使用库并且想要自动完成该库的关键字,则可以使用 re-sharper。如果你的视觉工作室没有给你自动推荐,你也可以使用 Ctrl+空格

【讨论】:

以上是关于Intellisense 在 C# 中使用 Visual Studio Code 进行可用的“使用/导入”的主要内容,如果未能解决你的问题,请参考以下文章

Intellisense 在 C# 中使用 Visual Studio Code 进行可用的“使用/导入”

在自己的 C# 项目中使用 Visual Studio Code JavaScript IntelliSense (OmniSharp)

Razor intellisense在vs2013中不起作用

c# /// 总结,SINGLE line break (IntelliSense)

Unity VSCode Intellisense 在 2020 版本中不起作用

在 VS 2013 中使用空格键提交 C++ Intellisense 建议