7

我偶尔使用 Visual Studio (C# Express 2008) 来处理一些供应商提供的 C# 代码。我希望让我对 VS 的体验更像我对 Eclipse 的体验。我已经习惯了 Eclipse 处理下划线错误的方式(在 java 源代码中)。当我在 Eclipse 中的代码中出现错误时,它会立即带有下划线,如果我修复它,下划线将几乎立即消失,或者最坏的情况是,当我保存文件时。然而,在 Visual Studio 中,下划线一直存在,直到我下一次构建项目。

是否有可以更改的设置,以便每次保存时甚至在我输入时都会构建 VS?用 C# 很难做到这一点,因为它在某些方面比 Java 更复杂吗?我需要找人给我买完整(非快递)版本吗?另外,波浪线下划线功能叫什么?我担心这个问题可能以前被问过,但我不知道要搜索的神奇词。

4

4 回答 4

16

杰森的回答很好,但还有几点:

用 C# 很难做到这一点,因为它在某些方面比 Java 更复杂吗?

是的,但这不相关。是的,在击键之间的 100 毫秒内对任何语言进行动态分析是一个难题。为 C# 做这件事可能比 Java 更难,因为它支持的语言特性比 Java 多得多。

但是我们的 IDE 团队是一群非常棒的爱好者,所以他们可以处理 C# 的工作。

真正的问题是 C# 的编译器架构最初并不是为了实时进行这种分析而设计的。VB编译器是。因此,修复 C# 编译器的语义分析引擎以使该功能可行需要更长的时间。

我们正在继续研究如何重新构建编译器,以一种丰富、可扩展和引人注目的方式公开越来越多的这些动态分析服务,但这需要一些时间。这是一个大编译器。

波浪线下划线功能叫什么?

在编译器团队中,我们将其称为“波浪形红色下划线功能”,或简称为“波浪形”。

我不知道营销是否有它的名字。如果他们这样做,它可能类似于“Microsoft SquiggleSense .NET For The Microsoft Visual Studio Suite System 2008”;他们似乎喜欢这些在其中包含两次“Microsoft”的长名称。

于 2010-01-20T19:08:34.830 回答
13

你有带有 SP1 的 Visual C# 2008 速成版吗?SP1 正是将此功能添加到 Visual Studio 2008 Professional 和 Visual C# 2008 Express Edition。

发行说明

此服务包添加了一个新的 Visual C# IDE 功能,该功能提供了一组更丰富的有关您的代码的错误信息。具体来说,此功能会根据您的代码向您呈现打开文件中出现的表达式级错误。这些表达式级错误以前仅在构建操作之后报告。

来自 Scott Guthrie 的发行说明

C# 代码编辑器现在可以识别并显示许多以前需要显式编译才能识别的语义代码问题的红色曲线错误。例如,如果您今天尝试在 C# 代码编辑器中声明和使用未知类型,则在进行构建之前您不会看到编译错误。现在使用 SP1,您将立即看到实时红色曲线错误(无需显式编译):

替代文字

于 2010-01-20T18:40:16.220 回答
7

要在 VS 2010 中打开此选项,请使用工具 > 选项 > 文本编辑器 > C# > 高级 > 显示实时语义错误和

VS 2010 使用工具 > 选项 > 文本编辑器 > C# > 高级 >打开文件时进入大纲模式

于 2012-11-19T13:03:17.373 回答
1

要在VS 2010中打开此选项,请使用Tools> Options> Text Editor> C#> Advanced>Show live semantic errors

于 2011-09-27T16:22:59.483 回答