-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: add quick config on terminal tabs
- Loading branch information
1 parent
c379d0b
commit 57be352
Showing
13 changed files
with
300 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"terminal-keeper": patch | ||
--- | ||
|
||
add quick config on terminal tabs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
# Terminal Keeper | ||
|
||
## 1.1.51 | ||
|
||
### Patch Changes | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,55 @@ | ||
import { defineConfig } from "vitepress"; | ||
import * as navbars from "./navbars"; | ||
import * as sidebars from "./sidebars"; | ||
import { defineConfig } from 'vitepress'; | ||
import * as navbars from './navbars'; | ||
import * as sidebars from './sidebars'; | ||
|
||
// https://vitepress.dev/reference/site-config | ||
export default defineConfig({ | ||
title: "Terminal Keeper", | ||
description: | ||
"Elevate your terminal experience! Effortlessly configuration, seamlessly restore your last session, and manage sessions with ease. Personalize your workspace with colorful themes and boost productivity by importing commands swiftly.", | ||
base: '/vs-terminal-keeper/', | ||
head: [ | ||
["link", { rel: "icon", type: "image/png", href: "./assets/logo.png" }], | ||
], | ||
lastUpdated: true, | ||
locales: { | ||
root: { | ||
label: "English", | ||
lang: "en-US", | ||
themeConfig: { | ||
nav: navbars.en, | ||
sidebar: sidebars.en, | ||
}, | ||
title: 'Terminal Keeper', | ||
description: | ||
'Elevate your terminal experience! Effortlessly configuration, seamlessly restore your last session, and manage sessions with ease. Personalize your workspace with colorful themes and boost productivity by importing commands swiftly.', | ||
base: '/vs-terminal-keeper/', | ||
head: [['link', { rel: 'icon', type: 'image/png', href: './assets/logo.png' }]], | ||
lastUpdated: true, | ||
locales: { | ||
root: { | ||
label: 'English', | ||
lang: 'en-US', | ||
themeConfig: { | ||
nav: navbars.en, | ||
sidebar: sidebars.en | ||
} | ||
} | ||
}, | ||
}, | ||
themeConfig: { | ||
// https://vitepress.dev/reference/default-theme-config | ||
logo: "./assets/logo.svg", | ||
search: { | ||
provider: "local", | ||
}, | ||
socialLinks: [ | ||
{ | ||
icon: "github", | ||
link: "https://github.com/nguyenngoclongdev/vs-terminal-keeper", | ||
}, | ||
// { icon: "twitter", link: "https://twitter.com/vs-terminal-keeper" }, | ||
], | ||
editLink: { | ||
pattern: 'https://github.com/nguyenngoclongdev/vs-terminal-keeper/edit/main/docs/:path' | ||
}, | ||
// carbonAds: { | ||
// code: 'your-carbon-code', | ||
// placement: 'your-carbon-placement' | ||
// }, | ||
footer: { | ||
message: | ||
'Released under the <a href="https://github.com/nguyenngoclongdev/vs-terminal-keeper/blob/main/LICENSE">MIT License</a>.', | ||
copyright: | ||
'Copyright © 2022 <a href="https://github.com/nguyenngoclongdev">Nguyen Ngoc Long</a>', | ||
}, | ||
}, | ||
themeConfig: { | ||
// https://vitepress.dev/reference/default-theme-config | ||
logo: './assets/logo.svg', | ||
search: { | ||
provider: 'local' | ||
}, | ||
socialLinks: [ | ||
{ | ||
icon: 'github', | ||
link: 'https://github.com/nguyenngoclongdev/vs-terminal-keeper' | ||
}, | ||
{ | ||
icon: { | ||
svg: '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 128 128"><mask id="deviconVscode0" width="128" height="128" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#fff" fill-rule="evenodd" d="M90.767 127.126a7.97 7.97 0 0 0 6.35-.244l26.353-12.681a8 8 0 0 0 4.53-7.209V21.009a8 8 0 0 0-4.53-7.21L97.117 1.12a7.97 7.97 0 0 0-9.093 1.548l-50.45 46.026L15.6 32.013a5.33 5.33 0 0 0-6.807.302l-7.048 6.411a5.335 5.335 0 0 0-.006 7.888L20.796 64L1.74 81.387a5.336 5.336 0 0 0 .006 7.887l7.048 6.411a5.33 5.33 0 0 0 6.807.303l21.974-16.68l50.45 46.025a8 8 0 0 0 2.743 1.793Zm5.252-92.183L57.74 64l38.28 29.058V34.943Z" clip-rule="evenodd"/></mask><g mask="url(#deviconVscode0)"><path fill="#0065A9" d="M123.471 13.82L97.097 1.12A7.97 7.97 0 0 0 88 2.668L1.662 81.387a5.333 5.333 0 0 0 .006 7.887l7.052 6.411a5.33 5.33 0 0 0 6.811.303l103.971-78.875c3.488-2.646 8.498-.158 8.498 4.22v-.306a8 8 0 0 0-4.529-7.208Z"/><g filter="url(#deviconVscode1)"><path fill="#007ACC" d="m123.471 114.181l-26.374 12.698A7.97 7.97 0 0 1 88 125.333L1.662 46.613a5.333 5.333 0 0 1 .006-7.887l7.052-6.411a5.33 5.33 0 0 1 6.811-.303l103.971 78.874c3.488 2.647 8.498.159 8.498-4.219v.306a8 8 0 0 1-4.529 7.208"/></g><g filter="url(#deviconVscode2)"><path fill="#1F9CF0" d="M97.098 126.882A7.98 7.98 0 0 1 88 125.333c2.952 2.952 8 .861 8-3.314V5.98c0-4.175-5.048-6.266-8-3.313a7.98 7.98 0 0 1 9.098-1.549L123.467 13.8A8 8 0 0 1 128 21.01v85.982a8 8 0 0 1-4.533 7.21z"/></g><path fill="url(#deviconVscode3)" fill-rule="evenodd" d="M90.69 127.126a7.97 7.97 0 0 0 6.349-.244l26.353-12.681a8 8 0 0 0 4.53-7.21V21.009a8 8 0 0 0-4.53-7.21L97.039 1.12a7.97 7.97 0 0 0-9.093 1.548l-50.45 46.026l-21.974-16.68a5.33 5.33 0 0 0-6.807.302l-7.048 6.411a5.336 5.336 0 0 0-.006 7.888L20.718 64L1.662 81.386a5.335 5.335 0 0 0 .006 7.888l7.048 6.411a5.33 5.33 0 0 0 6.807.303l21.975-16.681l50.45 46.026a8 8 0 0 0 2.742 1.793m5.252-92.184L57.662 64l38.28 29.057z" clip-rule="evenodd" opacity=".25"/></g><defs><filter id="deviconVscode1" width="144.744" height="113.408" x="-8.411" y="22.594" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feGaussianBlur stdDeviation="4.167"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend in2="BackgroundImageFix" mode="overlay" result="effect1_dropShadow_1_36"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_1_36" result="shape"/></filter><filter id="deviconVscode2" width="56.667" height="144.007" x="79.667" y="-8.004" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feGaussianBlur stdDeviation="4.167"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend in2="BackgroundImageFix" mode="overlay" result="effect1_dropShadow_1_36"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_1_36" result="shape"/></filter><linearGradient id="deviconVscode3" x1="63.922" x2="63.922" y1=".33" y2="127.67" gradientUnits="userSpaceOnUse"><stop stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient></defs></svg>' | ||
}, | ||
link: 'https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper' | ||
} | ||
// { icon: "twitter", link: "https://twitter.com/vs-terminal-keeper" }, | ||
], | ||
editLink: { | ||
pattern: 'https://github.com/nguyenngoclongdev/vs-terminal-keeper/edit/main/docs/:path' | ||
}, | ||
// carbonAds: { | ||
// code: 'your-carbon-code', | ||
// placement: 'your-carbon-placement' | ||
// }, | ||
footer: { | ||
message: | ||
'Released under the <a href="https://github.com/nguyenngoclongdev/vs-terminal-keeper/blob/main/LICENSE">MIT License</a>.', | ||
copyright: 'Copyright © 2022 <a href="https://github.com/nguyenngoclongdev">Nguyen Ngoc Long</a>' | ||
} | ||
} | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,107 @@ | ||
# Getting Started | ||
|
||
Setting up **Terminal Keeper** is quick and easy. Follow these steps to get started in no time! | ||
|
||
## Installation | ||
|
||
1. Open VSCode. | ||
2. Navigate to the Extensions view by clicking on the Extensions icon in the Activity Bar or using the shortcut Ctrl+Shift+X. | ||
3. Search for Terminal Keeper in the search bar. | ||
4. Click Install next to the Terminal Keeper extension by Nguyen Ngoc Long. | ||
5. Once installed, reload VSCode to activate the extension. | ||
1. Open Visual Studio Code. | ||
2. Open the Extensions View (Shift+Cmd+P or F1 and type "Extensions: Install Extensions") or (Shift+Cmd+X) | ||
3. Type `Terminal Keeper` | ||
4. Click `Install` | ||
|
||
Alternatively, you can install Terminal Keeper via: | ||
Alternatively, you can install the extension directly from: | ||
|
||
- [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper) | ||
- [Open VSX](https://open-vsx.org/extension/nguyenngoclong/terminal-keeper) | ||
|
||
## Usage | ||
Or: | ||
|
||
1. Open a command-line prompt | ||
2. Run `code --install-extension nguyenngoclong.terminal-keeper` | ||
|
||
Once installed, **Terminal Keeper** will appear in your VSCode environment, ready for configuration. | ||
|
||
## Using Terminal Keeper | ||
|
||
After installation, you can start using **Terminal Keeper** right away. Here's a quick guide to help you get up and running: | ||
|
||
![Activate the last used terminal session](https://github.com/nguyenngoclongdev/cdn/raw/HEAD/images/terminal-keeper/active-default-session.gif) | ||
|
||
The following features will help you get started: | ||
|
||
1. Open the Command Palette using Ctrl + Shift + P (Windows) or Cmd + Shift + P (macOS). | ||
2. Type Terminal Keeper and select your desired action, such as: | ||
- Generate Configuration | ||
- Open Configuration | ||
- Activate Session | ||
- Import Session | ||
- Remove Session | ||
1. Open the Command Palette using `Ctrl + Shift + P` on Windows or `Cmd + Shift + P` on macOS. | ||
2. Type **Terminal Keeper** and select your desired action, such as: | ||
- **Generate Configuration**: Set up the extension by creating a default configuration. | ||
- **Open Configuration**: Open the configuration. | ||
- **Activate Session**: Open a specific session you’ve saved. | ||
- **Import Session**: Import terminal settings from files. | ||
- **Remove Session**: Delete any session you no longer need. | ||
- **Kill All**: Kill all terminals. | ||
- **Abort All**: Abort all terminals. | ||
- **Clear All**: Clear all terminals. | ||
|
||
### First-Time Setup | ||
|
||
When you first use **Terminal Keeper**, you’ll be prompted to create a configuration. Accept this prompt to generate a sessions.json configuration file in the `.vscode` directory. This file will store your terminal settings. | ||
|
||
|
||
## Configuration | ||
|
||
**Terminal Keeper** uses a configuration file named `sessions.json` (located in the `.vscode` folder). This file defines the structure, commands, and visual aspects of your terminal sessions. | ||
|
||
### Basic Configuration Example: | ||
|
||
Here’s an example configuration template for `sessions.json`: | ||
|
||
```json | ||
{ | ||
"active": "default", | ||
"activateOnStartup": true, | ||
"keepExistingTerminals": true, | ||
"theme": "Dice", | ||
"sessions": { | ||
"default": [ | ||
{ | ||
"name": "Server", | ||
"commands": ["npm run dev"] | ||
}, | ||
[ | ||
{ | ||
"name": "API Server", | ||
"commands": ["npm run api"] | ||
}, | ||
{ | ||
"name": "Frontend Server", | ||
"commands": ["npm start"] | ||
} | ||
] | ||
] | ||
} | ||
} | ||
``` | ||
|
||
### Explanation of Key Settings: | ||
|
||
- `active`: Specifies the default session to be activated (e.g., "default"). | ||
- `activateOnStartup`: If true, the default session starts when VSCode launches. | ||
- `keepExistingTerminals`: Determines if existing terminals should remain open when a session starts. | ||
- `theme`: Choose a theme for session colors and icons (e.g., "Dice" for random themes). | ||
- `sessions`: Defines your terminal sessions and their configurations. | ||
|
||
You can explore more [advanced configurations](../manage/configuration.md) as you grow familiar with Terminal Keeper! | ||
|
||
### Adding Multiple Commands and Terminals | ||
|
||
Each terminal can have its own name and commands. Use the following settings for individual terminals within a session: | ||
|
||
- `name`: Display name for each terminal (e.g., "Frontend"). | ||
- `commands`: List of commands to run in the terminal (e.g., ["npm start"]). | ||
|
||
## Next Steps | ||
|
||
Now that you're set up, here are a few things you can explore next: | ||
- Personalize your terminal themes to match your style. | ||
- Manage multiple sessions across different projects effortlessly. | ||
- Speed up your workflow with the command import feature. | ||
|
||
> If this is your first time using Terminal Keeper, you'll be prompted to generate a configuration. Choose "Yes" to create and customize your settings. | ||
For more detailed usage and tips, check out our [FAQ](https://github.com/nguyenngoclongdev/vs-terminal-keeper/issues) or visit the [GitHub repository](https://github.com/nguyenngoclongdev/vs-terminal-keeper). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,32 @@ | ||
# Introduction | ||
|
||
[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/nguyenngoclong.terminal-keeper)](https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper) | ||
[![Open VSX Installs](https://img.shields.io/open-vsx/dt/nguyenngoclong/terminal-keeper?color=%2396C41F&label=open-vsx)](https://open-vsx.org/extension/nguyenngoclong/terminal-keeper) | ||
[![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/nguyenngoclong.terminal-keeper?label=vs-marketplace)](https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper) | ||
[![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/nguyenngoclong.terminal-keeper)](https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper) | ||
[![Visual Studio Marketplace Rating (Stars)](https://img.shields.io/visual-studio-marketplace/stars/nguyenngoclong.terminal-keeper)](https://marketplace.visualstudio.com/items?itemName=nguyenngoclong.terminal-keeper) | ||
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/nguyenngoclongdev/vs-terminal-keeper/blob/main/LICENSE) | ||
## What is Terminal Keeper | ||
|
||
`Terminal Keeper` is a Visual Studio Code (VSCode) extension designed to enhance your terminal experience. It allows for easy configuration, session restoration, and command management within your terminal. The extension offers personalization options through colorful themes and provides efficiency by enabling quick command imports. | ||
**Terminal Keeper** is an extension for Visual Studio Code (VSCode) that enhances terminal management by allowing users to create, save, and restore multiple terminal sessions with custom configurations. It’s especially useful for developers working with multi-terminal setups and recurring commands, enabling efficient workflow organization within VSCode. | ||
|
||
## Why use Terminal Keeper? | ||
:::tip | ||
Just want to try it out? Skip to the [Quickstart](getting-started.md). | ||
::: | ||
|
||
- Effortless Configuration: Customize your terminal environment with minimal effort. | ||
- Session Management: Seamlessly restore your last terminal session and manage multiple sessions. | ||
- Personalization: Apply colorful themes to make your terminal more visually appealing. | ||
- Command Imports: Swiftly import commonly used commands to boost productivity. | ||
## Why Terminal Keeper? | ||
|
||
- Easy Setup: Quickly configure and manage terminal sessions. | ||
- Productivity Boost: Automatically restores your previous session, imports commands, and customizes themes to suit your workflow. | ||
- Streamlined Experience: Simplifies switching between terminal sessions and supports multiple configurations per project. | ||
- Personalize: Customizable themes, making it easier to work in a terminal that suits your preferences. | ||
|
||
## Who is it for? | ||
|
||
**Terminal Keeper** is perfect for developers who frequently use the terminal in VSCode and need better control over their terminal workflows. Whether you're a solo developer or part of a larger team, **Terminal Keeper** offers the tools to improve your development experience by making session and terminal management more intuitive and less time-consuming. | ||
|
||
## Key Features | ||
|
||
- **Automatic Session Restoration**: Automatically restore your last terminal session when reopening VSCode, saving you time setting up each day. | ||
- **Quick Run Button**: Adds a button to the terminal interface for quickly running commands. | ||
- **Session Management**: | ||
- Save, restore, and organize multiple terminal sessions. | ||
- Easily select or remove specific sessions. | ||
- **Theme Customization**: Personalize terminal sessions with different colors and icons. | ||
- **Command Importing**: Import commands from popular files like package.json, Makefile, pipenv, and others. | ||
|
||
Whether you're a seasoned VSCode user or just getting started, **Terminal Keeper** is here to streamline your terminal management, letting you focus on what really matters—coding! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.