7

Visual Studio (C# Express 2008) をときどき使用して、ベンダー提供の C# コードを操作します。VS での経験を Eclipse での経験に近づけたいと考えています。私は、Eclipse が下線付きエラー (Java ソース内) を処理する方法に慣れてきました。Eclipse でコードにエラーを加えると、すぐに下線が引かれます。修正すると、ファイルを保存するとすぐに、または最悪の場合、下線が消えます。ただし、Visual Studio では、次にプロジェクトをビルドするまで下線が残ります。

保存するたびに、または入力中にもVSがビルドされるように、どこかに変更できる設定はありますか? C# は Java よりも複雑なため、これを行うのは難しいですか? フル (非エクスプレス) バージョンを購入してくれる人を探す必要がありますか? また、波線の下線機能は何と呼ばれていますか? この質問は以前にも聞かれたことがあるかもしれませんが、検索する魔法の言葉がわかりません。

4

4 に答える 4

16

ジェイソンの答えは問題ありませんが、いくつかの追加のポイントがあります。

これは、Javaよりも何らかの形で複雑であるため、C#で行うのは難しいですか?

はい、しかしそれは関係ありません。はい、キーストローク間の100ミリ秒で任意の言語のオンザフライ分析を行うことは難しい問題です。C#でそれを行うことは、Javaよりもはるかに多くの言語機能をサポートしているため、おそらくJavaよりも困難です。

しかし、私たちのIDEチームは素晴らしいバフコーダーの集まりなので、C#でそれを処理できます。

本当の問題は、C#のコンパイラアーキテクチャは、もともとこの種の分析をリアルタイムで実行するように設計されていなかったことです。VBコンパイラはそうでした。したがって、この機能を実現可能にするために、C#コンパイラのセマンティック分析エンジンを修正するのにかなり時間がかかりました。

コンパイラを再設計して、これらのオンザフライ分析サービスを豊富で拡張可能で説得力のある方法で公開する方法については、引き続き調査を行っていますが、これにはしばらく時間がかかります。それは大きなコンパイラです。

波線の下線機能とは何ですか?

コンパイラチームでは、これを「波状の赤い下線機能」または略して「波線」と呼んでいます。

マーケティングに名前があるかどうかはわかりません。もしそうなら、それはおそらく「Microsoft Visual StudioSuiteSystem2008用のMicrosoftSquiggleSense.NET」のようなものです。彼らは、「Microsoft」が2回含まれているこれらの長い名前が好きなようです。

于 2010-01-20T19:08:34.830 に答える
13

Visual C# 2008 Express Edition SP1 はありますか? 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 に答える