mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Until elements from the plugin descriptor are extracted to an explicit content module (see IJPL-212351), an empty 'content' tag is added with 'jetbrains' namespace to make internal modules accessible. GitOrigin-RevId: b8e2d0d9a479cba4276d599e61fbd099a11921ee
47 lines
2.7 KiB
XML
47 lines
2.7 KiB
XML
<idea-plugin allow-bundled-update="true">
|
|
<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>
|
|
<!--suppress PluginXmlValidity -->
|
|
<content namespace="jetbrains">
|
|
<!-- The implicit main module of the plugin depends on internal modules (intellij.debugger.streams.core), so it's required to set the namespace for it
|
|
todo: extract elements and dependencies to an explicit content module (see IJPL-212351) -->
|
|
</content>
|
|
|
|
<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>
|