やらなイカ?

たぶん、iOS/Androidアプリの開発・テスト関係。

JetBrains IDEs

JetBrains Rider/ReSharperのNamespace does not correspond to file locationインスペクションをUnityプロジェクトで期待どおり診断させる

JetBrains Rider/ReSharperの提供するコードインスペクションに "Namespace does not correspond to file location" があります。 名前空間がディレクトリ階層と一致していることを検査するものですが、Unityプロジェクトの場合デフォルトでは期待どおりの結…

Unity 2021.2未満でも動作するRoslyn Analyzerプロジェクト

Unity 2020.2から制限付きながらRoslynアナライザが動作するようになり、その後、Unity 2021.1.2で実用段階に行き着いたことは以前ブロク記事で紹介しました。 www.nowsprinting.com しかし、この時点でUnityエディター上で動作しない*1アナライザがありまし…

PlatformIO for CLionで #M5Stack へのuploadポートを環境変数で指定する

M5Stack Basic v2.6に搭載されているシリアル変換ICであるCH9102FのmacOSドライバ(v1.7時点)では、M5Stackが接続されているシリアルポートを明示的に指定しないでuploadしようとすると次のエラーで失敗します。 (snip) Looking for upload port... Auto-de…

メソッド分割の意義とTips

この記事は DeNA Advent Calendar 2021 16日目の記事です。 ユニットテストを書こうとしたとき、テスト対象のクラスやメソッドが大きく複雑なため断念した経験は誰しもあるのではないでしょうか。 ひとつのメソッドや関数に様々な処理・責務を持たせてしまう…

カスタムRoslyn AnalyzerをUPMパッケージとして配布する

Unity 2020.2でRoslynアナライザによる静的解析を行えるようになりましたが*1、NuPkgやDLLで配布してUnityプロジェクトに導入するのはやや面倒です。 そこで、アナライザをUnity Package Manager (UPM) パッケージとして配布する方法を紹介します。アナライ…

Unity 2020.2時点のRoslyn Analyzerサポート状況まとめ

Unity 2020.2でRoslynアナライザによる静的解析が動作するようになりました。しかし、まだ色々と制限があるようなので現時点のサポート状況を検証してまとめてみました。 検証に使用したプロジェクト も公開していますので、認識違い等あれば教えていただる…

リモート時代のモブプログラミング(モブワーク)勉強会でmob IntelliJ pluginをお披露目 #モブLOVE #モブプロ #MobProgramming #RemoteMobProgramming

リモートモブプログラミングにフォーカスした勉強会(もちろんオンライン開催)のLT募集があったので、作っているリモートモブプロ支援IntelliJ pluginの紹介をしてきました。 moblove.connpass.com 勉強会冒頭のアンケートでは、リモートモブプロをやたこと…

#yokohamaunity (cluster開催)で『Rider plugin の作りかた』をLTしてきました

yokohama.unity初のオンライン開催である「yokohama.unity ~オンラインDEハジメテユルクヤッテミル#0~」で、IntelliJ Rider plugin 開発についてのLTをしてきました。 meetup.unity3d.jp 今回は初のオンライン、clusterでの開催でした。clusterはオーディエ…

IntelliJ plugin から他のプラグインを使用する

IntelliJ (JetBrains IDE) ファミリー向けのプラグイン開発において、他のプラグイン(例えばGitを操作するための Git4Idea *1 など)や、Riderなど言語別IDEの機能を使う設定について。 基本的なことは公式ドキュメントの下記ページに載っており、それに沿…

IntelliJ plugin からのログ出力

IntelliJ (JetBrains IDE) ファミリー向けのプラグイン開発をしていて、ログ出力まわりが少々わかりにくかった*1のでメモ。 プラグインからのログ出力 プラグインからログを出力するには、 com.intellij.openapi.diagnostic.Logger を使います。 Javaの場合 …

JetBrains ReSharper Command Line Tools 2019.3でコードインスペクションを実行する

JetBrains製のC# IDEであるRiderにあるコードインスペクション機能を、そのままコマンドラインで実行できるツールがReSharper Command Line Toolsとして提供されています。 ReSharper Command Line Toolsは、これまでWindows版しかサポートされていませんで…

JetBrains Riderでコードの複雑度を計測する

JetBrains製のC# IDEであるRiderには、様々なプラグインが提供されています。 その中から、コードの複雑度を計測するプラグインを2つ紹介します。 www.jetbrains.com サイクロマティック複雑度 サイクロマティック複雑度(cyclomatic complexity)は循環的複…

JetBrains Rider 2019.3でUnityテストのカバレッジを採取する

JetBrains製のC# IDEであるRiderには、テスト実行時にステートメントカバレッジを採取するdotCoverプラグインが提供されています。 これまで、dotCoverプラグインはUnity Test Framework*1に対応していませんでしたが、2019.3からEdit Mode tests実行時のカ…

JetBrains Rider 2019.3でUnityのPlay Mode testsを実行する

JetBrains製のC# IDEであるRiderの2019.3がリリースされました。 これまで、RiderからはUnity Test Framework*1のEdit Mode testsのみ直接実行することができましたが、2019.3からはPlay Mode testsも実行できるようになりました。 www.jetbrains.com Unity…