Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Empressia Complexity for JavaNew to Visual Studio Code? Get it now.
Empressia Complexity for Java

Empressia Complexity for Java

すふぃあ

|
480 installs
| (1) | Free
Empressia Complexity VSCode Extenison for Java.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Empressia Complexity for Java

Javaソースファイルの複雑度を分析して結果を表示します。

Features

以下のメトリクスに対応しています。

  • 保守容易性
  • Halstead複雑度(Volume)
  • 循環的複雑度
  • 実行可能な行数

各メトリクスは、厳密には、他のツールと値が異なるかもしれません。
保守容易性は、Microsoftの以下のサイトを参考にしています。

https://docs.microsoft.com/ja-jp/visualstudio/code-quality/code-metrics-maintainability-index-range-and-meaning?view=vs-2022

表示のサンプルです。

How to use

  1. 複雑度分析パネルを表示する

    拡張機能をインストールし、有効になると、
    コマンドパレットから、複雑度分析パネルを表示できるようになります。

    Ctrl + Shift + Pでコマンドパネルを開き、
    Show Empressia Complexity Panelを実行します。

  2. 分析を始める

    パネル上に表示される入力欄に、ディレクトリやファイルのパスを入力し、
    分析するボタンを押すことで分析が始まります。

    相対パスは、ワークスペースからのパスとして解釈されます。

    分析が終わったら、入力欄の下に結果が表示されます。

  3. 結果を確認する

    結果は、一般的なツリーUIの操作と同様に、展開したり、閉じたりできます。

    • クリック……選択、展開する、閉じる
    • 選択しているとき
      • →……展開する、移動
      • ←……閉じる、移動
      • ↑……移動
      • ↓……移動

    展開する操作と閉じる操作は、ヘッダーのボタンでもできます。

    • ……すべて閉じる。
    • ……すべて展開する。

    保守容易性は、以下の条件でアイコンが表示されます。

    • ……20以上100以下
    • ……10以上20未満
    • ……0以上10未満

    保守容易性のヘッダー左にあるボタンによって、表示条件を変更する(フィルターする)ことができます。
    以下の順で切り替わります。

    • すべてのノードを表示する
    • 20未満を含むノードを表示する
    • 10未満を含むノードを表示する

    表示されている結果は、CSVとしてエクスポートできます。

    • ……CSVとしてエクスポートする。
  4. 対応するソースファイルを表示する

    結果として表示されている名前をCtrl + クリックすることで、対応しているソースコードを表示できます。

Requirements

分析を始めるには、Java17以上の実行環境が必要です。
Java17以上がパス上にない場合は、設定で位置を決めることができます。

分析対象のソースファイルは、Java17以上である必要はありません。

Extension Settings

  • jp.empressia.complexity.UseDefaultJava: システムで初期設定されているJavaを使用するかどうかです。未設定では、この設定は有効になります。有効な場合は、jp.empressia.complexity.JAVA_HOMEは無視されます。
  • jp.empressia.complexity.JAVA_HOME: 分析用のEmpressia Complexity CLIを実行するために使用するJAVA_HOMEを指定します。

ライセンスなど

この拡張機能は、原則、MITライセンスでの提供となります。

なお、以下のモジュールを含みます。
これらは、それぞれのライセンスの元での、再配布となります。

  • Empressia Complexity for Java
  • JavaParser (Apache-2.0 License)
    • https://javaparser.org/
  • Empressia Complexity CLI
  • Jackson (Apache-2.0 License)
    • https://github.com/FasterXML/jackson
  • picocli (Apache-2.0 License)
    • https://picocli.info/
  • jQuery (MIT License)
    • https://jquery.com/
  • Honoka (MIT License)
    • https://honokak.osaka/
  • Vue3 (MIT License)
    • https://v3.vuejs.org/

トラブルシュート

  • std maxBuffer length exceeded.
    解析結果が多すぎるときに表示されます。
    1.1.2で対応予定です。

  • write EPIPE
    画面が復元されているけど、拡張機能が無効になっているときなどに発生します。
    拡張機能が有効になっているか確認してください。

  • spawn ~java ENOENT
    Javaが見つからなかった場合に表示されます。
    表示されたパスと設定を確認してください。

  • command failed: ~java ~
    Javaのバージョンが合わなかった場合などに表示されます。
    使用されているJavaがバージョンJava17以上になっているか確認してください。

  • Error occurred during initialization of boot layer ~ Unsupported major.minor version 61.0 Javaのバージョンが合わなかった場合などに表示されます。
    使用されているJavaがバージョンJava17以上になっているか確認してください。

Known Issues

  • 結果をソートできません。

Release Notes

1.2.1 2022/01/11

  • エクスポートのフォーマットを修正しました。

1.2.0 2022/01/07

  • 表示条件の変更機能(フィルター機能)を追加しました。
  • エクスポート機能を追加しました。
  • 分析に失敗すると次の分析を始められない問題を修正しました。
  • その他、軽微な変更と修正を行いました。

1.1.8 2022/01/06

  • モジュールが破損していたのを修正しました。

1.1.7 2022/01/06

  • パフォーマンスを改善しました。

1.1.6 2022/01/05

  • パフォーマンスのために内部構造を調整しました。

1.1.5 2022/01/05

  • 分析結果がない状況でエラーになる問題を修正しました。

1.1.4 2022/01/04

  • パスの参照の初期選択位置が固定になっていた問題を修正しました。
  • 分析するボタンに虫眼鏡アイコンを追加して分析中は回転させるなど、処理中であることをわかりやすくしました。

1.1.3 2022/01/04

  • すべて展開するボタンが、正しく動作しないことがある問題を修正しました。
  • 状態を維持するために必要な容量を減らしました。

1.1.2 2022/01/04

  • 多くのファイルを分析しようとすると、エラーになる問題を修正しました。

1.1.1 2022/01/04

  • 分析に失敗したときにメッセージが表示されないことがある問題を修正しました。
  • 一部の設定が正しく反映されない問題を修正しました。

1.1.0 2022/01/03

  • 裏で警告が出ている問題を修正しました。
  • パスを参照ボタンから選択できるようにしました。

1.0.0 2022/01/03

  • Initial release.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft