問題タブ [clarius-visual-t4]
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.
visual-studio-2010 - Visual Studio 2010 CTP2 用の T4 エディターはありますか?
VS 2010 CTP2 用の T4 エディターを探しています。Clarius はブログで Beta1 を待っていると述べています。
どこを見るべきか他のアイデアはありますか?
ありがとう
ティム
visual-studio - T4プロ編集者(有料)の比較
フル機能の T4 エディターの購入に興味があります。私は見ています:
- タンジブル T4 エディター プロフェッショナル
- クラリウス ビジュアル T4 エディター プロフェッショナル
どちらも同じ価格 (100 ドル) です。
Clarius の製品はもう少し機能が充実しているように見えますが、それは本当でしょうか? もしそうなら、リッチな Visual Studio プラグインではよくあることですが、より多くのメモリを消費しますか? Visual Studio のサポートはどうですか?
このフィールドの追加プレーヤー
2011 年夏以降、 Devart の T4 エディターも利用可能になりました。これは無料で、構文の強調表示とインテリセンスをサポートしています。
debugging - T4テンプレートにブレークポイントを設定する
VisualStudio2008でT4テンプレートの実行をデバッグしようとしています。
Visual Studio 2008でのT4テンプレートのデバッグに関して私が見つけたすべての情報は、通常のコードファイルであるかのようにテンプレートにブレークポイント(赤い点)を設定できることを示しています。Clarius T4コードハイライターをインストールしているので、T4テンプレートに色が付いていますが、ブレークポイントを設定できません。 余白をクリックしても何も起こりません。
Debugger.Break()を試しましたが、VS.NETの新しいインスタンスが起動しますが、テンプレートからコードを読み込めません。「現在の場所で利用できるソースコードはありません」というダイアログが表示されます。これは、同じプロジェクトを別のインスタンスにロードした場合、または新しいインスタンスを起動した場合に発生します。
何が得られますか?
visual-studio-2010 - どのようなT4編集ツールがありますか?
私はT4テンプレートをあまり使用しません。通常、私が行うときは、他のプロジェクト(特に、SubSonicとT4MVC)の編集です。経験は常に非常に不快です(そしてこれが私がそれらをより頻繁に使用しない理由です)。
これらは私が知っているツールであり、どちらも法案に完全には適合していません。
-
- Visual Studio 2010をサポートしていません。彼らのブログには進行中の作業が記載されていますが、それは2か月前であり、それ以降は更新されていません。彼らのサポートフォーラムは、VS2010がいつサポートされるかについてのスパムと質問でいっぱいです。
私が取り組んでいるプロジェクトのほとんどはVisualStudio2010にあり、扱うテンプレートはVisual Studioホストで実行する必要があります(VSの自動化オブジェクトモデルを介してプロジェクト情報にアクセスするため)。これが、VS2010互換のエディターを探している理由です。
- Visual Studio 2010をサポートしていません。彼らのブログには進行中の作業が記載されていますが、それは2か月前であり、それ以降は更新されていません。彼らのサポートフォーラムは、VS2010がいつサポートされるかについてのスパムと質問でいっぱいです。
-
これを初めて使用しようとしたとき、VisualStudio2010がクラッシュしたと思いました。十分に待たなかったことがわかりました(エディターウィンドウが表示されるまでに2分以上かかりました)。私をうるさいと呼んでください、しかしこれだけで私はこのツールから離れます。
動作する変更されたT4MVCテンプレートがあります。TangibleのT4エディターをインストールした後、テンプレートがいくつかのエラーで失敗します。その後、TangibleのT4エディターをアンインストールすると、テンプレートが再び機能します。したがって、エディターがVisualStudioのT4の動作を変更するように思われます。おそらく明らかに、それは完全に受け入れられません。
私が見逃した他のT4エディターはありますか?他の誰かがこれらのツールを使用し、これらの同じ問題に遭遇し、それらをうまく操作していますか?
また、私にとって最も重要な機能は、テンプレートの一部として実行されるコードと、出力を取得するコード/テキストを区別することです。他のすべては肉汁です。
c# - コンパイルされたアセンブリの代わりにttincludeを使用するのはなぜですか?
私はPOCOタイプの生成の多くを単純化するためにアセンブリを書いています。複数のttファイルが含まれ、コードの生成に使用する1つのコアアセンブリがあります。
私がこれを行った理由は、どの拡張機能(Devart T4、Tangible-T4、またはVisual T4)を試しても、Visual StudioのC#エディターによって提供されるインテリセンスとサポートほど優れているものはないため、純粋なC#でコード生成を記述すると改善されますたくさんの経験。
私が直面している最大の問題は、エンティティフレームワークヘルパークラス(たとえばAccessibility
、CodeGenerationTools
などMetadataTools
)がアセンブリではなくttincludeファイル内で定義されているという事実です。現在、これらのクラスが提供する多くの機能を、アセンブリから使用できるように書き直す必要があります。
私の質問は、なぜエンティティフレームワークチームがいくつかのコンパイルされたアセンブリではなくttincludeファイルを使用することを決定したのですか?アセンブリアプローチを使用すると、より多くの状況ではるかに使いやすくなり、T4コード生成に影響を与えなかったようです(使用<#@ include #>
する代わりに<#@ assembly #>
)。
これを解決するための最善のアプローチは何か疑問に思っています。生成されたC#を実行EF.Utility.CS.ttinclude
してTextTransform.exe
から取得し、これをコンパイルすることを検討しました。これはお勧めできますか?
ありがとう、ルーク
アップデート
現在、私が行ったことEF.Utility.CS.ttinclude
はプロジェクトに追加することでした。ファイルのカスタムツールをに設定しますTextTemplatingFilePreprocessor
。これにより、クラスを含むコードが生成されます。次に、このcsファイルをコピーし、出力の書き込みを担当するクラス(メソッドがあります)を削除しTransformText()
て、アセンブリにコンパイルしました。これで、アセンブリでエンティティフレームワークユーティリティクラスを使用できます。