KK TTC Compiler

VS Code extension to run KEBA TTC.exe (TeachTalk Compiler) for the current workspace project.
✨ Features
- 🔨 One-Click Compile: Run TTC.exe directly from VS Code
- 🔍 Auto-Detection: Automatically finds your project root (even if you opened a subfolder)
- 📊 Status Bar Button: Quick access via the status bar
- ⚙️ Configurable: Extensive settings for all TTC compiler options
- 💾 Save Before Compile: Optionally saves all open files before compilation
🎯 Command
| Command |
Description |
KK TTC Compiler: Compile |
Runs TTC.exe for the current project |
You can also click the 🔧 TTC Compile button in the status bar.
🚀 Quick Start
Runs (with paths resolved from the detected project root):
TTC/TTC.exe +l<harddisk0/WorkSpace/firmware> harddisk0/WorkSpace/project.tt/Main.ttp
Working directory defaults to TTC (same as running from ...\TTC>).
Project Root Auto-Detection
If you opened a subfolder as your VS Code workspace (e.g. harddisk0/WorkSpace), the extension will automatically walk up folders to find the real project root by checking for:
TTC/TTC.exe
harddisk0/WorkSpace
⚙️ Settings
Search in VS Code settings for "KK TTC Compiler":
| Setting |
Default |
Description |
kkTtcCompiler.projectRoot |
"" |
Optional base folder for path resolution |
kkTtcCompiler.autoDetectProjectRoot |
true |
Auto-detect project root |
kkTtcCompiler.ttcExePath |
TTC/TTC.exe |
Path to TTC.exe |
kkTtcCompiler.workingDirectory |
TTC |
Working directory for TTC |
kkTtcCompiler.firmwareDir |
harddisk0/WorkSpace/firmware |
Firmware directory (+l) |
kkTtcCompiler.ttpFile |
harddisk0/WorkSpace/project.tt/Main.ttp |
Main .ttp file |
kkTtcCompiler.additionalArgs |
[] |
Additional CLI arguments |
kkTtcCompiler.saveAllBeforeRun |
true |
Save all files before compile |
kkTtcCompiler.workPath |
"" |
Optional WorkPath (+w) |
TTC Compiler Options
| Setting |
Default |
TTC Flag |
Description |
optionSuppressInfo |
false |
-i |
Suppress information messages |
optionSuppressErrors |
false |
-e |
Suppress error messages |
optionPrintTree |
false |
+p |
Print structure tree |
optionGenerateTtu |
false |
+m |
Generate .ttu for user-objects |
optionUnreferencedReport |
off |
+r/+r1 |
Report unreferenced objects |
optionDeprecatedUsages |
false |
+d |
Print deprecated usage warnings |
optionHiddenCheck |
false |
+h |
Check for hidden elements |
optionConvertNamedInit |
false |
+c |
Convert to named initialization |
optionWarnByValue |
false |
+v |
Warn on pass-by-value issues |
optionCreateInterfaceFile |
false |
+i |
Create interface file (.tti) |
interfaceName |
"" |
+i<name> |
Interface file name |
You can use the variables ${workspaceFolder} and ${projectRoot} in path settings.
📦 Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "KK TTC Compiler"
- Click Install
From VSIX File
- Download the
.vsix file from Releases
- In VS Code: Extensions →
... → Install from VSIX...
🛠️ Build & Run Locally
npm install
npm run compile
# Press F5 in VS Code to launch the Extension Development Host
📋 Requirements
- VS Code 1.85.0 or higher
- KEBA TTC.exe (TeachTalk Compiler)
🐛 Known Issues
See GitHub Issues
📝 Release Notes
See CHANGELOG.md
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License.
Enjoy! 🚀