問題タブ [roslyn-code-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
roslyn - roslyn構文ツリーをxmlファイルに変換できますか?
構文ビジュアライザーは、コードを理解するのに非常に役立ちます。xml ファイルで構文ツリーを表示したいのですが。xml で視覚化するための解決策はありますか?
roslyn - ObjectCreationをキャッチするには、Roslynにどのアクションを登録する必要がありますか?
ObjectCreation をキャッチするには、Roslyn にどのアクションを登録する必要がありますか? コーダーが SqlCommand オブジェクトを作成していくつかのSQL処理を行うかどうかをキャッチしたい。
PS 私は Roslyn を初めて使用します。
roslyn - コントロールとデータ フローの分析を他のソリューション ドキュメントに適用できますか?
サンプルコードに対して制御フローとデータフローの分析を行っています。私はインスタント アナライザー (コード修正付きアナライザー - Nuget、VSIX) を使用しています。私の目的は、コード開発者のコーディングだけでなく、他のクラスのデータを追跡することです。それについてあなたの考えを学べますか?ありがとう
visual-studio - Roslyn コード アナライザーからの問題の抑制
Roslyn アナライザーの問題を抑制する方法はありますか? インスタント アナライザー プロジェクト タイプを使用します。そして、ユーザーが望むなら問題を抑制したいと思います。また、永続的でなければなりません。Visual Studio を再度開いた場合でも、同じ抑制ルールを適用する必要があります。
c# - roslyn のシンボルから型を取得する
さまざまな種類のシンボルの Microsoft.CodeAnalysis.ISymbol から System.Type を取得する最も一般的な方法は何ですか? (例: クラス宣言、変数、プロパティなど)
System.Type をチェックできるのと同じように、タイプが任意のインターフェイスを実装しているかどうか、または任意のインターフェイスにキャスト可能かどうかをチェックするなど、タイプに対してさまざまなチェックを実行できるようにしたいと考えています。
私が抱えている問題は、シンボルを表すために使用される具象クラスのほとんどが内部的なものであり ( http://sourceroslyn.io/を参照)、ISymbol でタイ型情報を見つけることができなかったことです。
- SourceNamedTypeSymbol
- ローカルシンボル
次のコードを使用して ISymbol を取得します
roslyn - Roslyn アナライザーまたは VS 拡張機能を作成するときにデータを保存する方法はありますか?
私は Roslyn アナライザーを作成していますが、いくつかのデータを保存する必要があるため、アナライザーはそれらの間でデータを共有できます。または、アナライザーの状態を保存したいのですが、データをデータベースに保存したり、ファイルに書き込んだりしたいと考えています。コード修正テンプレートを使用してアナライザーを使用しているときにデータを保存するオプションはありますか?
teamcity - Visual Studio 2015 SDK CI サーバーまたは強制 Rosyln
Visual Studio をインストールせずに VS2015 SDK をインストールすることはできますか? CI サーバー (Team City) で Rosyln コンパイラを使用したいのですが、モデリング SDK、T4 テンプレート用の SDK が必要です。
そうでない場合、代替手段はありますか - 私たちのプロジェクトは Roslyn Style Cop 実装を使用しています。v12.0 ツールセットで Rosyln を強制できますか?
syntax - Roslyn SyntaxTree 差分
AとBの2 つSyntaxTree
の s
があり、BはAに変更を適用することによって生成されたとします。
次の情報を取得したいと思います。
- Bを生成するためにAから削除された SyntaxNode とトークン
- Bを生成するためにAに追加された SyntaxNode とトークン
このための API はありますか?
そうでない場合、これを効率的に計算するにはどうすればよいですか?
変更されていないGreenNode
はツリー間で共有されるため、この情報は Roslyn で利用できる必要があります。
私が考えることができる 1 つの解決策はSyntaxTree.GetChangedSpans()
、交差するトークンを使用してから検索することです。
ただし、それはハックのように感じられ、常に正確かどうかはわかりません。
小さなテキストの変更が : に大きな影響を与える可能性がありますSyntaxTree
(
たとえば、式で を置き換える*
と+
、その順序/優先順位が変わる可能性があります)。