Files
openide/plugins/stream-debugger/resources/META-INF/plugin.xml
Roman Shevchenko 2adaa2c245 [ui] sorting "Other Tools": extracting "JVM Tools" category
(cherry picked from commit 97f75be06b969b46d49a5537afa4a615d7e24cdb)

IJ-CR-166059

GitOrigin-RevId: 134d1d8cabb9395059d1b6fbf3a85ee501364540
2025-06-23 12:18:01 +00:00

42 lines
2.3 KiB
XML

<idea-plugin>
<id>org.jetbrains.debugger.streams</id>
<name>Java Stream Debugger</name>
<vendor>JetBrains</vendor>
<category>JVM Tools</category>
<dependencies>
<plugin id="com.intellij.java"/>
<module name="intellij.debugger.streams.core"/>
</dependencies>
<description><![CDATA[
<p>Visualizes chains of operations on Java streams.</p>
<p>In some ways, Stream API is better than traditional loop approach: it takes full advantage of modern multi-core architectures,
and lets you process data in a declarative way. What's also good is that this approach helps to avoid the state issues, and the
code written in it looks more elegant. But, there's a certain downside to it: the code sometimes is sure hard to read, understand,
and, of course, to debug.</p>
<p>This plugin is here to amend that and offer solutions to the issues you might run into. It extends the <em>Debugger</em>
tool window by adding the <em>Trace Current Stream Chain</em> button, which becomes active when debugger stops inside of a
chain of Stream API calls.</p>
<img src="https://raw.githubusercontent.com/bibaev/static/master/debugger-stop.png" height="300" width="750">
<p>After you click it, the current data stream is evaluated and you get a visualization of what exactly happens to each element
from the first call to last, with changes occurring gradually as it's passing thru all the steps:</p>
<img src="https://raw.githubusercontent.com/bibaev/static/master/flat_mode.png" height="300" width="750">
<p>The <em>Split Mode button</em> in the left bottom corner lets you choose whether you want to see all operations at once or
separately:</p>
<img src="https://raw.githubusercontent.com/bibaev/static/master/split_mode.png" height="300" width="750">
<p>In the latter mode, you can switch between operations manually using the tabs on top.</p>
]]></description>
<extensions defaultExtensionNs="org.jetbrains.platform.debugger.streams">
<librarySupport implementation="com.intellij.debugger.streams.lib.impl.StandardLibrarySupportProvider"/>
<librarySupport implementation="com.intellij.debugger.streams.lib.impl.StreamExLibrarySupportProvider"/>
<librarySupport implementation="com.intellij.debugger.streams.lib.impl.JBIterableSupportProvider"/>
</extensions>
</idea-plugin>