Repository navigation
t-code v0.3
T-Code v0.3 Debug and Theme Update
t-code is now an IDE with a debugger. This release also adds quick fixes, code folding, color themes,
panels you can move around, and right-click menus everywhere, while keeping memory use low.
Debugging (new)
- F5 builds with debug info and starts the program under gdb (14 or newer,
gdb -i dap).
F9 or a click left of a line number sets a breakpoint. A right click sets a condition. - F10 / F11 / Shift+F11 step over / into / out. F6 pauses, Shift+F5 stops and
Ctrl+Shift+F5 restarts. - Run and Debug panel (
Ctrl+Shift+D):- Variables: values that changed since the last pause are colored, and arrays and structs
open like folders. - Watch: expressions, kept per project.
- Call Stack: frames in libraries are folded into one row.
- Breakpoints: the full list, across all files.
- Variables: values that changed since the last pause are colored, and arrays and structs
- Values under the pointer while paused, and an evaluate line (with
-execfor gdb commands). - Crashes, from a segfault or AddressSanitizer, stop on the bad line and are explained in one
plain sentence. - Disassembly View:
- the function's instructions, with its source lines between them;
- stepping by instruction, instruction breakpoints, and registers.
Editor
- Quick fixes (
Ctrl+.), such as a missing;, a missing#includeor a misspelled name,
plus clangd's refactorings. - Go to Symbol in File (
Ctrl+Shift+.) and Switch Source / Header (Alt+O). - Code folding (
Ctrl+Shift+[/]) and sticky scroll: the heads of the enclosing
function, loop or namespace stay at the top. - Highlights:
- the cursor on a name lights up that symbol's uses;
- code that an
#ifleaves out is dimmed; - git changes show in the strip beside the minimap.
- A right-click menu in the editor with the important commands.
- A save conflict bar when the file changed on disk: Overwrite, Reload or Compare, instead of
silently overwriting. makewritingcompile_commands.jsonis picked up by itself, with no clangd restart.
Window
- Color themes: Dark Classic, Gruvbox and other dark and light themes, each with a preview, in
a rounded or square look. You can editsettings.ini,theme.cssand the editor's style
scheme by hand. - Panels move between docks: drag a panel's icon to the left, bottom or right. Each panel has
a show/hide button in the title bar. "View: Reset Panel Layout" puts everything back. - Open in New Window: a second window for the same project, sharing clangd.
- Right-click menus on tabs, Open Tabs, files, Source Control, search results, terminals and
the debugger's lists. - Source Control:
- commit details on hover, and "Open Commit Details" shows a commit with its diff;
- collapsible sections.
- Comparisons open at the first change.
- Settings pages listed on the left.
Run other languages
Ctrl+F5 runs scripts by their interpreter: Python, JavaScript / TypeScript, shell, Lua, Ruby,
Perl, PHP, Go, Java, or any file with #!. It also runs Cargo, Go, npm, Maven and Gradle
projects, and Python from its root with its venv.
Faster
- Semantic coloring is updated by delta: on an 18 000-line file, an edit used to stall the window
for about 280 ms and now takes under 1 ms. - Git comparisons no longer run on the main thread.
Keys that changed
- F5 now starts debugging. Build and run moved to Ctrl+F5, and Ctrl+Shift+B still
builds only.
Install
| Distribution | Command |
|---|---|
| Fedora 44 | sudo dnf install ./t-code-0.3.0-1.fc44.x86_64.rpm |
| Arch Linux | sudo pacman -U t-code-0.3.0-1-x86_64.pkg.tar.zst |
| Debian 13 | sudo apt install ./t-code_0.3.0-1_amd64.deb |
| Void Linux | t-code-0.3.0_1.x86_64.xbps (glibc) or t-code-0.3.0_1.x86_64-musl.xbps (musl), with xbps-rindex -a and xbps-install |
Check the downloads with sha256sum -c SHA256SUMS. Debugging needs gdb 14 or newer; the packages
recommend it.
Kown Issues
- Sometimes right click causes a loop with data race and UI freeze. Reason found and fixed, next release will not have this problem.