Version 7.0.0 - Latest release with custom header support and enhanced header detection.
- 🆕 Custom Institution Headers: Configure your own university/organization branding for all generated headers
- 🆕 Enhanced Header Detection: Improved pattern matching for all 122+ supported languages
- 🆕 Fixed "Unknown" Username Issues: Headers now properly resolve user identity from VS Code settings and Git config
- 🆕 Project Creation Respects Custom Settings: New projects now use custom header configurations instead of default TSI branding
- Insert university branded headers and boilerplates across 122+ languages.
- Scaffold production-ready projects for C / C++ / Java / Python / Ruby / Rust / PHP / HTML.
- Teach and practice with in-editor Learn Mode lessons and exercises for C, C++, Ruby, Rust, Git, and The Odin Project.
- 🆕 Offline caching for Odin Project lessons - access lessons without internet connection and manage cache from the sidebar.
- Stay focused via the Study Mode Pomodoro timer with persistent analytics.
- 🆕 Study Calendar with deadline tracking, custom events, daily schedules, and SMTP email notifications.
- 🆕 Custom Institution Headers - Configure your own institution name and URL for personalized headers.
- 🆕 Enhanced Header Detection - Automatically detects and updates headers across all supported languages.
- Visual Studio Code: Version 1.74.0 or later.
- Node.js: Version 16 or later (for development and testing).
- Ruby: Version 2.7 or later (for CLI operations and compilation).
- Git: For user identity resolution and project scaffolding.
- Supported Languages: C, C++, Java, Python, Ruby, Rust, PHP, HTML, and 115+ others for header insertion.
- Learn Mode: Interactive curriculum for C, C++, Ruby, Rust, Git, and The Odin Project (complete full-stack JavaScript curriculum).
- Email Notifications: SMTP for calendar reminders.
- User identity resolves in this order: VS Code settings → Git config →
TSI_USERNAME
/TSI_EMAIL
env vars. - Calendar notifications: Configure SMTP settings for email reminders.
- Custom Headers: Enable
tsiheader.customHeader.enableCustomHeader
to use your institution's branding instead of default TSI headers.
Personalize headers with your institution's branding:
{
"tsiheader.customHeader.enableCustomHeader": true,
"tsiheader.customHeader.institutionName": "Your University Name",
"tsiheader.customHeader.institutionUrl": "https://your-university.edu"
}
When enabled, all generated headers (manual insertion, project creation, auto-updates) will use your custom institution name and URL instead of the default TSI branding.
- Clone or open the repo, run
npm install
(installs only dev typings). npm run compile
to mirror the activecore/src/extension.js
intoout/
.- Launch the extension (F5) or package with
npx vsce package
. - Configure
tsiheader.username
/tsiheader.email
or rely on Git settings. - Optional: Enable custom headers with
tsiheader.customHeader.enableCustomHeader
for personalized branding. - Use Activity Bar panels:
- Uni Commands for headers, classes, code bases.
- Uni Projects for language scaffolds.
- 📚 Learn (Ruby, C, C++, Rust, Git, Odin Project) and Study Mode commands for curriculum + Pomodoro.
- 📅 Study Calendar for scheduling deadlines, events, and automated email notifications.
- Deadlines: Track assignment due dates with priority levels
- Custom Events: Schedule study sessions, meetings, or personal events
- Daily Schedules: Set recurring time blocks for consistent study routines
- Import/Export: Support for iCalendar (.ics) files and URL imports
Configure notifications in VS Code settings (tsiheader.notifications.*
):
- SMTP: Direct email server support with STARTTLS encryption
Example SMTP configuration:
{
"tsiheader.notifications.enableEmail": true,
"tsiheader.notifications.emailService": "smtp",
"tsiheader.notifications.smtpHost": "smtp.gmail.com",
"tsiheader.notifications.smtpPort": 587,
"tsiheader.notifications.smtpUser": "[email protected]",
"tsiheader.notifications.smtpPassword": "your-app-password",
"tsiheader.notifications.emailAddress": "[email protected]",
"tsiheader.notifications.advanceNotice": 24
}
- Extension not activating: Ensure VS Code is version 1.74.0+. Reload the window (Ctrl+Shift+P > "Developer: Reload Window").
- Headers showing "unknown" username: This is automatically fixed when updating existing headers. The extension now properly reads git configuration and VS Code settings.
- Custom headers not working in projects: Ensure
tsiheader.customHeader.enableCustomHeader
is enabled. Project creation now respects custom header settings. - Headers not inserting: Check user settings (
tsiheader.username
,tsiheader.email
) or Git config. Rungit config --global user.name
to verify. - SMTP connection errors: Verify server settings and credentials. Use port 587 for STARTTLS or 465 for direct TLS. Check firewall settings.
- Email notifications not working: Test with "Uni Header: Test Email Notification" command. Check VS Code output panel for detailed SMTP logs.
- C/C++ compilation errors on Windows: Learn Mode automatically probes
g++
,gcc
, andclang++
in your PATH plus common MinGW/MSYS2/LLVM install folders. If you still see a "g++ not found" error, follow these steps:-
Install MSYS2 (recommended)
-
Download the installer from msys2.org and complete the setup.
-
Open the MSYS2 MinGW 64-bit terminal and run:
pacman -Syu pacman -S mingw-w64-x86_64-toolchain
-
Add
C:\msys64\mingw64\bin
to your WindowsPath
environment variable if it is not added automatically.
-
-
Alternative: Stand-alone MinGW-w64
- Download a build from winlibs.com or the official MinGW-w64 project.
- Extract it to a folder such as
C:\MinGW
and addC:\MinGW\bin
toPath
.
-
Optional: LLVM/Clang
- Install LLVM from llvm.org and add
C:\Program Files\LLVM\bin
toPath
so the runner can findclang++
.
- Install LLVM from llvm.org and add
-
Restart VS Code to ensure the updated environment variables are picked up.
-
Verify the compiler by running:
g++ --version
If you prefer Clang, run
clang++ --version
instead. -
Re-run the Learn exercise; the runner should automatically pick up the installed compiler. The error message lists every location it checks—use it to confirm your PATH settings if the issue persists.
-
- Compilation errors: For C/C++ projects, ensure a compatible compiler (GCC/Clang) is installed and in PATH. Test with
g++ --version
. - Learn Mode exercises failing: Verify Node.js and Ruby are installed. Run
ruby TEST_Suite/test_learn_module.rb
to check curriculum integrity. - Study Mode not persisting: Data is stored in VS Code's global state; try resetting with "Uni Header: Reset Study Progress".
- Calendar events not showing: Check that the calendar view is enabled and refresh the view. Events are stored locally in VS Code's workspace state.
- Check the GitHub Issues for known problems.
- Run
ruby TEST_Suite/full_test_suite.rb
for comprehensive diagnostics. - For Learn Mode, ensure
learn_exercises/
is empty (files are generated dynamically). - For calendar issues, check the VS Code output panel for detailed error messages.
Contributions welcome!
MIT License - see LICENSE for details.