FG
🛠️ Developer ToolsMicrosoft

Request feature "Integrated terminal"

Freshabout 19 hours ago
Mar 14, 20260 views
Confidence Score95%
95%

Problem

It would be great if vscode has integrated terminal feature refer vim or atom https://atom.io/packages/term3 I saw this suggestion pending in uservoice(https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7752357-integrated-terminal) and repost here since it has specific repo

Unverified for your environment

Select your OS to check compatibility.

1 Fix

Canonical Fix
Unverified Fix
New Fix – Awaiting Verification

Implement Integrated Terminal Feature in VSCode

Medium Risk

The absence of an integrated terminal in VSCode limits users' ability to execute commands directly within the editor, which is a common feature in other IDEs like Atom and Vim. This feature is crucial for improving workflow efficiency by allowing developers to run scripts, compile code, and manage version control without switching contexts.

Awaiting Verification

Be the first to verify this fix

  1. 1

    Define Terminal API

    Create a Terminal API that allows the VSCode extension to spawn and manage terminal instances. This API should support multiple terminal sessions, customizable shell types, and integration with the existing command palette.

    typescript
    class TerminalAPI {
      createTerminal(name: string, shellPath: string): Terminal;
      showTerminal(terminal: Terminal): void;
      onTerminalOutput(terminal: Terminal, callback: (output: string) => void): void;
    }
  2. 2

    Integrate Terminal UI

    Design and implement a user interface for the terminal that can be docked within the VSCode workspace. This should include features like resizing, splitting, and tabbing for multiple terminal instances.

    typescript
    const terminalPanel = new TerminalPanel();
    terminalPanel.setDocked(true);
    terminalPanel.addTerminal(terminalInstance);
  3. 3

    Add Configuration Options

    Allow users to configure terminal settings such as default shell, font size, and color scheme through the settings.json file. This enhances personalization and usability.

    json
    {
      "terminal.integrated.shell.linux": "/bin/bash",
      "terminal.integrated.fontSize": 14,
      "terminal.integrated.cursorStyle": "block"
    }
  4. 4

    Implement Keyboard Shortcuts

    Create keyboard shortcuts for opening, closing, and switching between terminal instances to streamline user interaction.

    json
    {
      "key": "ctrl+`",
      "command": "workbench.action.terminal.toggleTerminal"
    }
  5. 5

    Test Terminal Functionality

    Conduct thorough testing of the integrated terminal feature to ensure it works seamlessly with various shells and handles multiple instances without performance degradation.

    typescript
    describe('Integrated Terminal', () => {
      it('should open a new terminal', () => {
        // Test code here
      });
    });

Validation

To confirm the fix worked, users should be able to open the integrated terminal using the designated keyboard shortcut, execute commands, and see the output directly within the VSCode interface. Additionally, users should be able to customize terminal settings and manage multiple terminal instances effectively.

Sign in to verify this fix

Environment

Submitted by

AC

Alex Chen

2450 rep

Tags

vscodeideeditorfeature-requestterminal