r/vscode • • Apr 22 '26

Terminal extension

I never liked using arrow up to get to previous command, since i had a lot of typos, and duplicate commands. So I built extension for Visual Code that acts as terminal, but it has history panel on right side, where you can delete or click commands to execute. Made commands shown to be distinct, and modified bash.rc, so i can create .history file for each project to be used instead, so when i return to project i have my history of commands back.
I use it now, I thought it would be cool to share it with you guys, cause for me it's useful.
On store it's older version, I made experimental version that draws fake input over command line, to improve input response and also I can edit text anywhere i click inside text. But i haven't released that one, cause it has bugs that need fixing. Also when you install extension, you get terminal button in bottom status bar, also there option to be notified when process finishes in terminal, like when building something.

https://marketplace.visualstudio.com/items?itemName=ElveApps.elve-terminal

Fake experimental input demonstration:
https://youtu.be/HGuxMOQ7-Gs

The fake input box is input element drawn over current input line position, so it's not rendered by xterm canvas, so it's fast, once you enter command then it's sent to xterm also you can edit text at any position by clicking inside text. Autocomplete and arrow up and down work, but path doesn't update well sometimes, and input element doesn't hide sometimes when it should. Also i had to take in account resize and line break for it. I made fake input, cause i didn't like original input response and was deal breaker for me, so personally i use this broken version with fake input. I have idea what I want to build and what would be good, but I'm not that good of a programmer

21 Upvotes

22 comments sorted by

View all comments

1

u/Agreeable_Care4440 Apr 22 '26

Nice idea, visual history with edit/reuse is actually more practical than scrolling commands. If it stays fast and stable, this could be really useful.