<p dir="auto">Currently with the extensions API, we have access to output channels (creation and access through <code class="notranslate">vscode.window.createOutputChannel()</code>).  And likewise, we can get adhoc user input through <code class="notranslate">vscode.window.showInputBox</code>.</p>
<p dir="auto">I think what would be really helpful is if the extensions API included the capability to have a console-like experience, much like the <strong>debug console</strong> has (input part of the experience with the output).  Not necessarily for "debugging" purposes, but for a more consistent and extended user experience exchange for ongoing for <strong>user input creation</strong>, then <strong>VS Code output consumption</strong>, followed by more <strong>user input creation</strong>, ... so on and so forth.</p>
<p dir="auto">At the moment, the <code class="notranslate">showInputBox()</code> functionality with the output channel can seem like a one-time exchange, without the continuity of a input/output console (like the debugger console).</p>
<p dir="auto">While it is awesome that we have the Debug Console for an interactive console experience while debugging, it would be ideal if VS Code also supported a persistent REPL (interactive console) which could also be used at any time.  Users of languages such as PowerShell, F#, Python, Ruby, and many others would benefit from this.</p>
<p dir="auto">At least in the case of PowerShell, all that would really be needed is an event that can be registered when the user enters a command and then some API for writing the output.  The PowerShell, F#, and Elm extensions already simulate this by allowing the user to select some text, run a command to execute it, and then have the output written to an output channel.</p>
<p dir="auto">Users of the PowerShell extension have requested feature this here: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="117631297" data-permission-text="Title is private" data-url="https://github.com/PowerShell/vscode-powershell/issues/10" data-hovercard-type="issue" data-hovercard-url="/PowerShell/vscode-powershell/issues/10/hovercard" href="https://github.com/PowerShell/vscode-powershell/issues/10">PowerShell/vscode-powershell#10</a></p>
<p dir="auto">cc <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Krzysztof-Cieslak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Krzysztof-Cieslak">@Krzysztof-Cieslak</a></p>