mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-09 08:09:39 +07:00
(cherry picked from commit 97f75be06b969b46d49a5537afa4a615d7e24cdb) IJ-CR-166059 GitOrigin-RevId: 134d1d8cabb9395059d1b6fbf3a85ee501364540
42 lines
2.3 KiB
XML
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>
|