Skip to content

Commit

Permalink
Merge pull request #39 from Roenke/update-description
Browse files Browse the repository at this point in the history
Update plugin description
  • Loading branch information
bibaev authored May 16, 2017
2 parents 6348f39 + 575190b commit e3536ef
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 7 deletions.
30 changes: 29 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,29 @@
# stream-debugger-plugin
# stream-debugger-plugin
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.

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 *Trace Current Stream Chain* button, which becomes active when debugger stops inside of a
chain of Stream API calls.

![](https://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.06.58.png)

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:

![](https://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.06.18.png)

The *Split Mode button* in the left bottom corner lets you choose whether you want to see all operations at once or
separately:

![](https://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.04.39.png)

In the latter mode, you can switch between operations manually using the tabs on top.

Watch the following short animation to see these features in action:
![](https://raw.githubusercontent.com/Roenke/static/master/screen_shot_2017-05-11_at_15.07.27.gif)

The plugin is still under development, so expect a couple of glitches here and there, and, of course, we really appreciate your
feedback, including error reports, and we have set up an [issue tracker](https://youtrack.jetbrains.com/issues?q=Subsystem:%20%7BDebugger.%20Streams%7D) just for that.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ apply plugin: 'java'
apply plugin: "kotlin"

group 'com.intellij.debugger.stream'
version '0.1.0'
version '0.1.1'

intellij {
type = 'IC'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import com.intellij.psi.*;
import com.intellij.psi.util.InheritanceUtil;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

Expand Down Expand Up @@ -57,10 +58,12 @@ private static boolean checkStreamCall(@NotNull PsiMethodCallExpression expressi
return false;
}

@Contract("null -> false")
private static boolean isStreamType(@Nullable PsiType psiType) {
return InheritanceUtil.isInheritor(psiType, CommonClassNames.JAVA_UTIL_STREAM_BASE_STREAM);
}

@Contract("null -> false")
private static boolean isStreamType(@Nullable PsiClass psiClass) {
return InheritanceUtil.isInheritor(psiClass, CommonClassNames.JAVA_UTIL_STREAM_BASE_STREAM);
}
Expand Down
12 changes: 7 additions & 5 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<idea-plugin>
<id>org.jetbrains.debugger.streams</id>
<name>Java Stream Debugger</name>
<version>0.1.0</version>
<version>0.1.1</version>
<vendor url="https://www.jetbrains.com">JetBrains</vendor>

<description><![CDATA[
Expand All @@ -20,15 +20,12 @@
<img src="https://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.06.18.png" height="300" width="750">
<p>The <em>Split Mode button</em> in the left bottom corner lets you choose weather you want to see all operations at once or
<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://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.04.39.png" height="300" width="750">
<p>In the latter mode, you can switch between operations manually using the tabs on top.</p>
<p>Watch the following short animation to see these features in action:</p>
<img src="https://blog.jetbrains.com/idea/files/2017/05/Screen-Shot-2017-05-11-at-15.07.27.gif" height="371" width="751">
<p>The plugin is still under development, so expect a couple of glitches here and there, and, of course, we really appreciate your
feedback, including error reports, and we have set up an
Expand All @@ -37,6 +34,11 @@
]]></description>

<change-notes><![CDATA[
0.1.1 <br>
<ul>
<li> Improve lines drawing </li>
<li> Minor fixes and improvements </li>
</ul>
]]>
</change-notes>

Expand Down

0 comments on commit e3536ef

Please sign in to comment.