<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vigneshwar “Vigneshwar” Somasundaram</title>
    <description>The latest articles on DEV Community by Vigneshwar “Vigneshwar” Somasundaram (@vigneshwarsoma).</description>
    <link>https://dev.to/vigneshwarsoma</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2956254%2F351b3433-84af-4b70-84a4-48eb35d69737.jpg</url>
      <title>DEV Community: Vigneshwar “Vigneshwar” Somasundaram</title>
      <link>https://dev.to/vigneshwarsoma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vigneshwarsoma"/>
    <language>en</language>
    <item>
      <title>AWS Step Functions IDE Extension: A Game Changer, But What’s Next?</title>
      <dc:creator>Vigneshwar “Vigneshwar” Somasundaram</dc:creator>
      <pubDate>Wed, 19 Mar 2025 04:16:40 +0000</pubDate>
      <link>https://dev.to/vigneshwarsoma/aws-step-functions-ide-extension-a-game-changer-but-whats-next-4f2m</link>
      <guid>https://dev.to/vigneshwarsoma/aws-step-functions-ide-extension-a-game-changer-but-whats-next-4f2m</guid>
      <description>&lt;p&gt;If you’ve ever worked with &lt;strong&gt;AWS Step Functions&lt;/strong&gt;, you know the struggle. Debugging workflows locally? A nightmare. Testing small changes? Deploy, wait, check logs, repeat. The experience has been far from smooth—until now.  &lt;/p&gt;

&lt;p&gt;AWS just launched a &lt;strong&gt;Step Functions extension for VS Code&lt;/strong&gt;, and it’s a &lt;strong&gt;huge step forward&lt;/strong&gt;. But as great as this update is, one big question remains: &lt;strong&gt;Why is this limited to VS Code? What about IntelliJ, Eclipse, and other IDEs?&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Let’s break down what’s new, why it matters, and what AWS should do next.  &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Pain Before This Update&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before this extension, working with AWS Step Functions was a &lt;strong&gt;constant back-and-forth between AWS Console and local development&lt;/strong&gt;. If you wanted to:  &lt;/p&gt;

&lt;p&gt;✅ Debug a workflow? You’d rely on &lt;strong&gt;CloudWatch logs&lt;/strong&gt;—which meant extra time and effort.&lt;br&gt;&lt;br&gt;
✅ Test changes? You had to &lt;strong&gt;deploy to AWS every time&lt;/strong&gt;—even for minor tweaks.&lt;br&gt;&lt;br&gt;
✅ Validate the output of an individual state? Practically impossible &lt;strong&gt;without running the full workflow&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;For developers, this meant &lt;strong&gt;longer development cycles, slower debugging, and more friction&lt;/strong&gt; when building serverless workflows.  &lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;What’s New in the AWS Step Functions IDE Extension?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;AWS &lt;strong&gt;finally&lt;/strong&gt; heard our pain and introduced an &lt;strong&gt;enhanced local development experience&lt;/strong&gt; for Step Functions in &lt;strong&gt;VS Code&lt;/strong&gt;. Here’s what’s cool about it:  &lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Visualize workflows directly in VS Code&lt;/strong&gt; – No more switching between AWS Console and your IDE.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Run Step Functions locally&lt;/strong&gt; – Test before deploying, saving time and resources.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Live debugging support&lt;/strong&gt; – Easily catch and fix errors without digging through logs.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Seamless AWS integration&lt;/strong&gt; – Sync changes faster without losing context.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;State-by-state testing&lt;/strong&gt; – &lt;strong&gt;Validate the output of an individual state by providing custom input&lt;/strong&gt;, making development quicker and more efficient.  &lt;/p&gt;

&lt;p&gt;This last feature—&lt;strong&gt;state-level testing&lt;/strong&gt;—is a &lt;strong&gt;game changer&lt;/strong&gt;. Now, you don’t have to execute the entire workflow just to see if a specific state is working. You can &lt;strong&gt;provide input, get instant validation, and debug much faster&lt;/strong&gt;—all from your IDE.  &lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step Functions in Action – VS Code Workflow Example&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Below is a &lt;strong&gt;sample Step Functions workflow&lt;/strong&gt; I tested using the new VS Code extension. The workflow consists of multiple states, invoking two AWS Lambda functions with error handling and retry logic.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4xj40ozk9waa901v2rn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4xj40ozk9waa901v2rn.png" alt="AWS Step Functions work flow in VScode" width="800" height="501"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step Functions JSON Definition:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Comment"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"An example AWS Step Function with multiple Lambda functions and states"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"StartState"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"StartState"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"InvokeFirstLambda"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"InvokeFirstLambda"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:123456789012:function:FirstLambda"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CheckResult"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"CheckResult"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Choice"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Choices"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Variable"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"$.status"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StringEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"success"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"InvokeSecondLambda"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Variable"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"$.status"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StringEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"retry"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"WaitState"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Default"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"FailState"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"WaitState"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Wait"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Seconds"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"InvokeFirstLambda"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"InvokeSecondLambda"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:123456789012:function:SecondLambda"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"FinalSuccess"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"FinalSuccess"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Succeed"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"FailState"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Fail"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ExecutionFailed"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Cause"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"The process failed after retry"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the &lt;strong&gt;new testing feature&lt;/strong&gt;, I was able to test individual states by providing sample input and verifying their output—&lt;strong&gt;right inside VS Code&lt;/strong&gt;. This cut down my development time significantly compared to deploying every change to AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5cdyz3vl2abafh73ai7s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5cdyz3vl2abafh73ai7s.png" alt="Test State with workflow for AWS Step Functions in VS code" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Why This Matters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This update is &lt;strong&gt;a huge productivity boost&lt;/strong&gt; for developers using Step Functions. We no longer have to:  &lt;/p&gt;

&lt;p&gt;🚫 Constantly deploy for minor updates&lt;br&gt;&lt;br&gt;
🚫 Guess what’s happening in our workflows&lt;br&gt;&lt;br&gt;
🚫 Waste time switching between the AWS Console and local code&lt;br&gt;&lt;br&gt;
🚫 Debug an entire workflow just to validate a single state  &lt;/p&gt;

&lt;p&gt;With this new &lt;strong&gt;VS Code extension&lt;/strong&gt;, we can now &lt;strong&gt;test, visualize, and debug&lt;/strong&gt; workflows faster than ever.  &lt;/p&gt;

&lt;p&gt;But there’s a catch…  &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Missing Piece – What About IntelliJ &amp;amp; Eclipse?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;AWS made a great move by integrating Step Functions with &lt;strong&gt;VS Code&lt;/strong&gt;, but let’s be honest—not everyone uses VS Code.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Many enterprise developers rely on IntelliJ, Eclipse, or JetBrains IDEs.&lt;/strong&gt; So why is this extension limited to just one IDE?  &lt;/p&gt;

&lt;p&gt;AWS already provides &lt;strong&gt;toolkits for IntelliJ and Eclipse&lt;/strong&gt; for services like Lambda and CloudFormation. Expanding &lt;strong&gt;Step Functions support to these IDEs&lt;/strong&gt; would:  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Reach a wider audience&lt;/strong&gt; of developers who don’t use VS Code&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Make AWS Step Functions more accessible&lt;/strong&gt; in enterprise environments&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Provide a consistent development experience&lt;/strong&gt; across multiple IDEs  &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Final Thoughts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;AWS is &lt;strong&gt;heading in the right direction&lt;/strong&gt; by improving local development for Step Functions, but they shouldn’t stop at VS Code.  &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;state-by-state testing feature&lt;/strong&gt; is one of the &lt;strong&gt;most exciting additions&lt;/strong&gt;, making Step Function development &lt;strong&gt;faster and easier&lt;/strong&gt;. However, expanding this capability beyond VS Code would &lt;strong&gt;truly unlock its full potential&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;I’d love to see AWS bring this to &lt;strong&gt;IntelliJ, Eclipse, and other popular IDEs&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;What do you think?  &lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;Do you use AWS Step Functions in VS Code?&lt;/em&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;em&gt;Would you like to see this extension in IntelliJ or Eclipse?&lt;/em&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;em&gt;How has state testing improved your workflow?&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;Let’s start the conversation!  &lt;/p&gt;

</description>
      <category>aws</category>
      <category>stepfunctions</category>
      <category>lambda</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
