Overview Version History Q & A Rating & Review
vscode-tn3270
A native TN3270/TN3270E terminal emulator for Visual Studio Code. Connect to IBM z/OS, CICS, TSO, and ISPF directly from your editor.
Screenshots
Screenshots will be added once the Webview renderer is complete.
Features
Native TN3270/TN3270E — Full protocol support with TLS 1.2/1.3
Multiple concurrent sessions — Each session in its own VS Code tab
Faithful 3270 emulation — Field attributes, extended colors, highlighting
Multiple terminal models — IBM-3278-2 through IBM-3279-5-E (24×80 to 27×132)
Theme integration — Adapts to VS Code light/dark/high-contrast themes
Configurable keyboard — Standard 3270 key mappings via VS Code keybindings
Session profiles — Workspace or user-scoped, with secure credential storage
Getting Started
Install the extension from the VS Code Marketplace
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Run TN3270: Manage Session Profiles to create a connection profile
Run TN3270: Open Session to connect
Requirements
VS Code 1.85.0 or later
Network access to a TN3270-compatible host (z/OS, Hercules, etc.)
Architecture
┌─────────────────────────────────────────────────┐
│ VS Code Webview (sandboxed iframe) │
│ ┌───────────────────────────────────────────┐ │
│ │ Canvas/DOM Renderer ←→ Keyboard Handler│ │
│ └──────────────────┬────────────────────────┘ │
│ │ postMessage │
├─────────────────────┼───────────────────────────┤
│ Extension Host │ (Node.js) │
│ ┌──────────────────┴────────────────────────┐ │
│ │ Session Manager ←→ 3270 Datastream │ │
│ │ TN3270E Negotiation ←→ EBCDIC Codec │ │
│ └──────────────────┬────────────────────────┘ │
│ │ net.Socket / tls.TLSSocket │
├─────────────────────┼───────────────────────────┤
│ z/OS / Hercules │ │
│ TN3270 Host ▼ │
└─────────────────────────────────────────────────┘
Development
git clone https://github.com/billpereira/vscode-tn3270.git
cd vscode-tn3270
npm install
npm run compile
# Press F5 in VS Code to launch the Extension Development Host
License
MIT — see LICENSE
References