並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 16 件 / 16件

新着順 人気順

Roslynの検索結果1 - 16 件 / 16件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

Roslynに関するエントリは16件あります。 articleprogrammingdevelopment などが関連タグです。 人気エントリには 『Visual Studio Code向け「Unity」拡張機能が正式版に ~半年以上にわたるプレビューを完了/「Roslyn」のパワーで「Unity」に合わせたサジェストやコード修正』などがあります。
  • Visual Studio Code向け「Unity」拡張機能が正式版に ~半年以上にわたるプレビューを完了/「Roslyn」のパワーで「Unity」に合わせたサジェストやコード修正

      Visual Studio Code向け「Unity」拡張機能が正式版に ~半年以上にわたるプレビューを完了/「Roslyn」のパワーで「Unity」に合わせたサジェストやコード修正
    • Unityプロジェクト向けRoslynアナライザの作りかた - DeNA Testing Blog

      SWETグループの長谷川(@nowsprinting)です。 Unity 2020.2以降、Unityエディタ上でRoslynアナライザによる静的解析 (static analysis) を実行可能になりました。 また、それ以前のバージョンで作られたUnityプロジェクトであっても、JetBrains RiderなどのC#向けIDE(統合開発環境)上でRoslynアナライザの実行がサポートされています。 静的解析を充実させることで、コンパイラだけではチェックしきれないようなバグや性能劣化の原因を早期に検出できます。 例えば弊社では、実行時に動的にインスタンス化されるクラスのコンストラクタがIL2CPPビルド時にストリップされないように [Preserve]アトリビュートの指定漏れを検出するアナライザを導入し、ショーストッパーとなりえる問題を早期発見できるようにしています。 通常、こうした問

        Unityプロジェクト向けRoslynアナライザの作りかた - DeNA Testing Blog
      • neue cc - 2021年のC# Roslyn Analyzerの開発手法、或いはUnityでの利用法

        C#のAnalyzer、.NET 5時代の現在では標準でも幾つか入ってきたり、dotnet/roslyn-analyzersとして準標準なものも整備されてきたり(非同期関連だと他にmicrosoft/vs-threadingのAnalyzerも便利)、Unity 2020.2からはUnityもAnalyzer対応したり、MicrosoftもUnity向けのmicrosoft/Microsoft.Unity.Analyzersという便利Analyzerが登場してきたりと、特に意識せずとも自然に使い始めている感じになってきました。 Analyzerって何?というと、まぁlintです。lintなのですが、Roslyn(C#で書かれたC# Compiler)から抽象構文木を取り出せるので、それによってユーザーが自由にルールを作って、警告にしたりエラーにしたりできる、というのがミソです。更に高度な機

        • ピックアップRoslyn: Improved Interpolated Strings

          string interplation の改善するって。 現行仕様 C# 6.0 から以下のようなコードで string.Format 相当のことができるようになったわけですが。 var s = $"({a}, {b})"; これは、以下のように展開されます。 var s = string.Format("({0}, {1})", a, b); これがパフォーマンス的にあんまりよろしくなくて… 特に、冒頭の提案ドキュメントにもある通り、ロギング用途との相性が最悪で、 ILoggerのメソッドがなかなか使いにくそうな感じの引数になっています。 void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> format

            ピックアップRoslyn: Improved Interpolated Strings
          • Roslyn APIを使って、構文ツリー解析を行う方法 - えんじにあ雑記!

            Roslyn APIを使用して、CSharpコードの構文ツリー解析を行う方法を解説します。 ※こちらの記事は2021.12月のC#アドベントカレンダー6日目の記事になります。 はじめに .NET Compiler Platform SDK(Roslyn APIs)とは 構文ツリーとは Microsoft.CodeAnalysis.SyntaxTreeクラス Microsoft.CodeAnalysis.SyntaxNodeクラス Microsoft.CodeAnalysis.SyntaxTokenクラス Microsoft.CodeAnalysis.SyntaxTriviaクラス 構文ツリーの解析(Rootからの手動探索) 1. 構文ツリーの作成 2. Rootからツリーを探索していく 2.1 トップレベルで宣言されたusings一覧を取得する 2.2 RoslynApiTutorialと

              Roslyn APIを使って、構文ツリー解析を行う方法 - えんじにあ雑記!
            • ピックアップRoslyn 10/31: csharplang の運営方針とかトリアージとか

              また何件かまとめて、C# Language Design Meeting 議事録を紹介。 October 12th, 2020 October 14th, 2020 October 26st, 2020 主に、csharplang の運営方針に関する話と、こまごまとトリアージ話。 (この他に、 October 21st, 2020ではプライマリ コンストラクターの話があったり、 Meeting 議事録とは別に派生型の網羅性の話が出てたりするんですが、 またちょっと話が大きくなりそうなので別の回で改めて。) これの割と冒頭で話してるんですけども、csharplangで、Community Ambassador (コミュニティ大使)を設けようという話が出ていました。 (実際、ほぼ即日、何名か任命。) C# はオープンソース開発されているといっても、マイクロソフトの C# チームが責任を負ってど

                ピックアップRoslyn 10/31: csharplang の運営方針とかトリアージとか
              • Persistence, façades and Roslyn’s red-green trees

                  Persistence, façades and Roslyn’s red-green trees
                • ピックアップRoslyn 4/19: C# 9.0 機能の仕様ドキュメントいくつか

                  ここ1週間くらいで、C# 9.0 で入るであろう機能がちゃんとした仕様ドキュメントに起こされ始めました。 Add draft spec for C# pattern-matching changes. #3361 Add proposal for target-typed conditional expression. #3363 C# Language Design for April 13, 2020 (Roadmap for records) Init only proposal document #3367 パターン マッチング v3 パターン マッチングも3世代目になります。 最初 C# 7.0 に入ったころは単に「is がちょっと便利になった」、 「switch で型分岐ができるようになった」程度の機能でしたが、 3世代目ともなるとずいぶんいろいろなものが増えています。 詳細は

                    ピックアップRoslyn 4/19: C# 9.0 機能の仕様ドキュメントいくつか
                  • ピックアップRoslyn 10/9: base(T), UTF-8 String, Discard parameters

                    数日前、いくつかの新機能について、仕様書のドラフト案が上がっていました。 base(T) - Draft Specification #2910 UTF8 String Literals - Draft Specification #2911 どちらも、これまであった Design Meeting の議事録通りな感じ。 あと、ちょこっと変更が検討されて、結局元さやに納まったものが1件。 Champion "Lambda discard parameters" #111 base(T) - Draft Specification #2910 これは、C# によるプログラミング入門に説明を書いた直後に「やっぱり C# 8.0 ではやめておく」となってしまったやつ。 (しょうがないんで「C# 8.0 から外れました」って書き足してそのまま残してあったり。) まあ、.NET ランタイムのレベルで対

                      ピックアップRoslyn 10/9: base(T), UTF-8 String, Discard parameters
                    • Roslyn CodeAnalysisでC#ソースの解析をしてみる - 気まま研究所ブログ

                      お久しぶりです。 多忙によりブログネタが全くできず、今まで放置状態でした。 さて、今日はVisual Studio 2015から導入されたRoslynコンパイラのAPIの一部で、C#ソースを解析するCodeAnalysisを使って解析を行ってみます。 大学の卒研で触ることがあったのですが、ネット漁ってもあんまり情報がなかったのでこれから利用する方の参考になればと思います。 はじめに 検証環境 必要なライブラリ 下準備 解析するソースコード 構文解析 ライブラリの取り込み 標準ライブラリの場所 コンパイラの生成 解析結果の整形 ノードの取得 クラス, インタフェース, 列挙型, 構造体, デリゲートの取得 メソッド, コンストラクタの取得 プロパティの取得 フィールドの取得 基底クラスの取得 全文 おまけ ドキュメント用内部IDの取得 ドキュメント用XMLの取得 おわりに はじめに Code

                        Roslyn CodeAnalysisでC#ソースの解析をしてみる - 気まま研究所ブログ
                      • Roslyn の構文解析を使ってデバッガーを自作する

                        // C# Advent Calendar 2018 の 23 日目の記事です。 デバッガーのようなものを自作してみました。 動機 普段は Visual Studio を使っているが、デバッグ時に手動でステップ実行するのが面倒 ループなどでステップ数が多い場合 分岐の様子や変数の状態を軽くチェックしたい場合 解決案 ステップの時間間隔だけを指定して、デバッガーを自動で実行させる 変数の一覧が表示される 時間間隔をリアルタイムで調節できる .NET Compiler Platform (Roslyn) の構文解析の機能を使い、各ステップの間にデバッグ用のコードを差し込めば実現できそう 結果 というわけで、WPF でプロトタイプ「Tick-tack Debugger」を作ってみた結果、このようになりました。 例として、ニュートン法で平方根を求めています。 (クリックで拡大) 解説 以下は概略の

                          Roslyn の構文解析を使ってデバッガーを自作する
                        • ピックアップRoslyn 4/4: static virtual/abstract members

                          インターフェイスの静的メソッドを virtual/abstract 指定できるようにする話が出ています。 [Proposal]: Static abstract members in interfaces #4436 主な用途は、 ファクトリ 比較 (Equatable とか Comparable) 数値計算 とかになると思います。 一番求められている用途は数値計算で、要は NumPy みたいなことを C# でも苦痛なく、かつ、パフォーマンスを損なうことなく実現したいというものです。 ファクトリ 数値計算に特化した仕様かと言うとそんなこともないので、先に他の用途について触れておきます。 ジェネリックなメソッドを作るとき、new() 制約を付けることで引数なしのコンストラクターなら呼び出せるんですが… void m<T>() where T : new() { var x = new T()

                            ピックアップRoslyn 4/4: static virtual/abstract members
                          • ピックアップRoslyn 6/9: record

                            先月くらいからじわじわと、C# Language Design Meeting で Records がらみの議題が上がっています。 最近やっとまとまってきた感じがするのでまとめて紹介。 LDM notes for May 4 LDM notes for May 11 LDM Notes for May 27 LDM notes for June 1 record 型の新設 まず、基本方針として、record は class/struct に対する修飾子ではなくて、enum とか delegate とかと同じく1種の型みたいな扱いにしたみたいです。 なので、以下のような書き方に。 record Point(int X, int Y); とりあえず初期実装としては結構やることを絞るみたいで、 record は参照型 値型なものは既存の struct に手を入れるか、"record struct

                              ピックアップRoslyn 6/9: record
                            • Managed Stripping Levelを変更する隙にRoslyn Analyzerを導入した話 - Cluster Tech Blog

                              はじめに きっかけ Managed Stripping Levelを変更する際の課題 Reflection APIを使っているコードが動かなくなる 既存のワールドが動作しなくなる 並行開発中のコードが壊れる Roslyn Analyzerを導入する Roslyn Analyzerの運用上の問題 結果とまとめ はじめに こんにちは、クラスター株式会社でソフトウェアエンジニアをしているhomulerです。 (入社の経緯は4コマになっているので、ぜひそちらも参照ください) clusterのアプリはUnityで作られているのですが、先日、apkのサイズ対策も兼ねて、ビルド時の設定の一つであるManaged Stripping Levelをlowからmediumに変更しました。必要なコードがstripされてしまう可能性があるため、リリース済みのアプリのManaged Stripping Levelを

                                Managed Stripping Levelを変更する隙にRoslyn Analyzerを導入した話 - Cluster Tech Blog
                              • カスタムRoslyn AnalyzerをUPMパッケージとして配布する - やらなイカ?

                                Unity 2020.2でRoslynアナライザによる静的解析を行えるようになりましたが*1、NuPkgやDLLで配布してUnityプロジェクトに導入するのはやや面倒です。 そこで、アナライザをUnity Package Manager (UPM) パッケージとして配布する方法を紹介します。アナライザ単体での配布はもちろん、自作ライブラリに関連するアナライザをライブラリのUPMに同梱して配布できます。 前提は、Unity 2020.3.4以降です。UnityバージョンごとのRoslynアナライザまわりの機能制限については次の記事にまとめています(Unity 2021.2の差分まで反映済)。 www.nowsprinting.com アナライザ入りUPMパッケージの作成 アナライザをNuGetから取得もしくはビルドしたDLLは、一旦Assetsフォルダ下に置いて*2 Inspectorウィン

                                  カスタムRoslyn AnalyzerをUPMパッケージとして配布する - やらなイカ?
                                • Roslynアナライザ(+コード修正)を実装する - Qiita

                                  はじめに Roslynアナライザを作ってみましたという私の別記事で,アナライザの実装に関する資料が少ないですよねというコメントを頂きました。 確かに私も実装時にはそれはとても困った点で,MSDNですらきちんと整備されておらずましてやQiitaなど日本語の資料はほとんどありません。 Stackoverflowは偉い。 というわけで,簡単ではありますがアナライザの作成方法を解説したいと思います。 前提知識など この記事は,「Roslynアナライザの作成方法に興味があるならばC#についてそれなりの知識があるであろう」という仮定の下に書かれています。 また,「シンタックスツリーとは」みたいな説明をする趣旨の記事でもありません。 MSDNのシンタックスの話やセマンティクスの話などは大して長くないので軽く読んでおくと理解の助けになるかと思います。 環境の準備 Visual Studioは必須です。最新

                                    Roslynアナライザ(+コード修正)を実装する - Qiita
                                  1

                                  新着記事