Restore Terminals Inyanced
Automatically spawn integrated terminal windows with custom icons and colors, split terminals, and run shell commands when VSCode starts up!
Note: This is an enhanced fork of the original Restore Terminals extension by EthanSK. All credit for the original functionality goes to the original author.
What's New in Inyanced Version
- Custom Terminal Icons: Set custom icons for each terminal (e.g.,
server, browser, tools)
- Custom Terminal Colors: Customize icon colors using VSCode theme colors
- Updated Dependencies: Modern TypeScript, ESLint, and VSCode API support
How to use
Configure your VSCode settings JSON file or create .vscode/restore-terminals.json:
{
"restoreTerminals.runOnStartup": true,
"restoreTerminals.terminals": [
{
"splitTerminals": [
{
"name": "server",
"icon": "server",
"color": "terminal.ansiGreen",
"commands": ["npm i", "npm run dev"]
},
{
"name": "client",
"icon": "browser",
"color": "terminal.ansiBlue",
"commands": ["npm run dev:client"]
},
{
"name": "test",
"icon": "beaker",
"color": "terminal.ansiYellow",
"commands": ["jest --watch"]
}
]
},
{
"splitTerminals": [
{
"name": "build",
"icon": "tools",
"color": "terminal.ansiMagenta",
"commands": ["npm run build"],
"shouldRunCommands": false
}
]
}
]
}
Configuration Options
name: Terminal name
icon: Icon identifier (e.g., server, browser, tools, bug, gear, database) - See all icons
color: Theme color (e.g., terminal.ansiRed, terminal.ansiGreen, terminal.ansiBlue)
commands: Array of shell commands to execute
shouldRunCommands: Whether to run commands or just paste them (default: true)
Available Colors
terminal.ansiBlack, terminal.ansiRed, terminal.ansiGreen, terminal.ansiYellow
terminal.ansiBlue, terminal.ansiMagenta, terminal.ansiCyan, terminal.ansiWhite,etc.
Configuration File
You can use a custom config file at .vscode/restore-terminals.json in your workspace. If present, it takes precedence over settings.json.
The order of split terminals from left to right is the order in the array.
You can manually trigger the restoration of terminals by running Restore Terminals in the command palette.
If you find the extension glitching out, try increasing the restoreTerminals.artificialDelayMilliseconds setting to a higher number, such as 1000.
If you do not want this extension to close the currently open terminal windows, you can simply set restoreTerminals.keepExistingTerminalsOpen to true.
If you do not want it to restore terminals on VSCode startup, but instead only run when you trigger it manually from the command palette, then set restoreTerminals.runOnStartup to false.
If you don't like using split terminals, then just provide one object in each split terminal array.
Credits
Original extension created by EthanSK. Enhanced version maintained by Ali Sichone.
Enjoy!