TUSTEP for VS Code
Experimental, unofficial integration of TUSTEP
into VS Code — in development. The extension is being built around
persistent interactive TUSTEP sessions running in a VS Code terminal.
The TUSTEP behavior verified for this extension (dialog sessions, TSD start
files) and the target architecture are documented in
docs/tustep-session-integration.md in the repository.
Prerequisites
- A TUSTEP installation on Linux, usually in
/opt/tustep
start -c has been run once for the user (creates the config files in ~/.tustep)
Usage
Start the session from the command palette (Ctrl+Shift+P →
TUSTEP: Start session), or by clicking the $(terminal) TUSTEP item in the
status bar. The interactive TUSTEP session opens in the terminal panel and
stays open; you can type commands directly into it.
Settings
| Setting |
Default |
Meaning |
tustep.tustepLib |
/opt |
Parent directory of the installation (TUSTEP_LIB, not /opt/tustep) |
tustep.workDir |
Workspace folder |
Working directory TUSTEP_DSK of the session |
tustep.scratchDir |
<workDir>/tmp |
Scratch directory TUSTEP_SCR (created if missing) |
tustep.project |
vscode |
Project TUSTEP_PRJ; a subdirectory of that name on work and scratch dir |
tustep.sessionId |
00100000 |
Unique 8-digit decimal session number TUSTEP_MEM; must not start with 000 |
Development
npm install # typescript, @types, eslint, prettier, mocha, test-electron
npm run compile # tsc -> out/ (extension + tests)
npm run lint # eslint src
npm test # compile + lint + format:check, then unit and integration tests
Integration tests run through @vscode/test-electron in the fixture workspace
test/fixtures/workspaces/integration (a VS Code instance is downloaded into
.vscode-test/ on first run).
Workspaces for tests and debugging
test/fixtures/workspaces/integration — opened by the integration test runner;
restored to its pristine state (only README.md) before and after each run,
so TUSTEP session files never leak into the repository.
test/fixtures/workspaces/debug — opened by the "Run Extension" launch
configuration for manual debugging; only its README.md is part of the
repository, the session files a debugging run creates (start file, scratch,
project directories, .tsf state) are ignored.