Repository navigation
Releases: stavroskasidis/codalus-ide
Releases · stavroskasidis/codalus-ide
Release list
Codalus IDE 0.7.0-nightly.20261024.549
Codalus IDE 0.7.0-nightly.20261024.549
- Fixed: on Windows, Restart to update could start the old version again and offer the same update (user guide). The IDE ran in its install folder, so the programs it started did too, and one that keeps running after the IDE exits held the folder the update replaces: adb's server, started when the IDE lists Android devices. The IDE now moves to your home folder when it starts in its own (a terminal opened without a solution starts there too). An earlier install still starts adb in its folder: run
adb kill-server(or restart Windows), then Restart to update. - Fixed: a tool window that shows itself without taking the focus (Output when a build starts, Notifications, the Error List) took the active frame's accent from the document group you were working in, though the keyboard stayed in the editor.
Other changes
- Docs: list the data tip recorder's variables and the Windows-only hosts (2e55c37)
- Website: structured data, sitemap dates and links to codalus.dev (9b9e7a1)
- Website: date the sitemap at a repository root reached through a symlink (a42df77)
- Website tests: clear git's read-only attributes before deleting the temp folder (a9aecb3)
All changes: v0.7.0-nightly.20261024.544...v0.7.0-nightly.20261024.549
Codalus IDE 0.7.0-nightly.20261024.544
Codalus IDE 0.7.0-nightly.20261024.544
- Fixed: on Windows, Restart to update could start the old version again and offer the same update (user guide). The IDE ran in its install folder, so the programs it started did too, and one that keeps running after the IDE exits held the folder the update replaces: adb's server, started when the IDE lists Android devices. The IDE now moves to your home folder when it starts in its own (a terminal opened without a solution starts there too). An earlier install still starts adb in its folder: run
adb kill-server(or restart Windows), then Restart to update. - Fixed: a tool window that shows itself without taking the focus (Output when a build starts, Notifications, the Error List) took the active frame's accent from the document group you were working in, though the keyboard stayed in the editor.
Other changes
- Roadmap: M50 (0.7) and M51 (0.8) from the maintainer's list after 0.6.0 (289ae75)
- Redesign the website: Night Shift (b1ebd08)
- git ignore node modules and grillme skill (5fa0256)
All changes: v0.7.0-nightly.20261024.539...v0.7.0-nightly.20261024.544
Codalus IDE 0.7.0-nightly.20261024.539
Codalus IDE 0.7.0-nightly.20261024.539
- Fixed: on Windows, Restart to update could start the old version again and offer the same update (user guide). The IDE ran in its install folder, so the programs it started did too, and one that keeps running after the IDE exits held the folder the update replaces: adb's server, started when the IDE lists Android devices. The IDE now moves to your home folder when it starts in its own (a terminal opened without a solution starts there too). An earlier install still starts adb in its folder: run
adb kill-server(or restart Windows), then Restart to update. - Fixed: a tool window that shows itself without taking the focus (Output when a build starts, Notifications, the Error List) took the active frame's accent from the document group you were working in, though the keyboard stayed in the editor.
Other changes
- Hosts compile ProcessTree in instead of shipping Codalus.Platform (1d5a499)
- Windows update: the IDE leaves its install folder at start (f625590)
- Accept 0.6.0's macOS idle working set (267.4 MB) for the regression gate (e5e43d1)
All changes: v0.7.0-nightly.20261023.532...v0.7.0-nightly.20261024.539
Codalus IDE 0.7.0-nightly.20261023.532
Codalus IDE 0.7.0-nightly.20261023.532
- Fixed: a tool window that shows itself without taking the focus (Output when a build starts, Notifications, the Error List) took the active frame's accent from the document group you were working in, though the keyboard stayed in the editor.
Other changes
- Tool windows shown without the focus keep the active frame (b08f95b)
All changes: v0.7.0-nightly.20261023.528...v0.7.0-nightly.20261023.532
Codalus IDE 0.7.0-nightly.20261023.528
Codalus IDE 0.7.0-nightly.20261023.528
Other changes
- Start 0.7.0 after cutting release/0.6.0 (36ca2d1)
All changes: v0.6.0-nightly.20261023.522...v0.7.0-nightly.20261023.528
Codalus IDE 0.6.0
Codalus IDE 0.6.0
- The Windows Forms designer's Properties window works as the classic IDE's (user guide):
- Categories collapse, and stay so as you select other components; a component list above the grid selects the form or any of its components by name.
- Font, Location, Size, Padding, Margin and FlatAppearance open into their parts, each edited alone and written as one assignment of the whole value (
button1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);). - Editors under the value: colors in Custom, Web and System tabs (with Define Color),
TextAlign's nine positions, multi-line text, a menu item's shortcut keys, flags, Dock and Anchor, and dates. AcceptButton, CancelButton, ContextMenuStrip, Cursor (with each cursor's picture) and the font's name offer their choices; a tool tip with line breaks opens the multi-line editor. - Editors behind "…" as panels over the form: Font (one undo step), the String Collection Editor for a text box's
Lines, Select Resource for images (the form's resources or the project'sProperties/Resources.resx, with a preview) and the collection editor, whose items' properties use the same grid. - An invalid value (
abcfor a location's X) says why: OK goes back to what you typed, Cancel puts the old value back. - Reset and Description on a row's right-click menu, a double-click cycles a value, set values are bold in the value cell, and
F4orAlt+Downopens the selected row's drop-down (keys). - A text box's or combo box's
AutoCompleteCustomSourceis edited as a collection. - Read-only values can be selected and copied (
Ctrl+Ccopies a row's value), and several edits sent together (the font editor's OK) apply all or none.
- The Properties window for Solution Explorer's selection (user guide) has the same grid: Categorized and Alphabetical, collapsible categories, a resizable description, Reset on the right-click menu, and Property Pages, which opens a project's properties or, for the solution, the Configuration Manager.
- The Windows Forms designer's context menu is the classic IDE's (user guide): right-click a control (or press
Shift+F10) for its designer's own commands first (a tab control's Add Tab and Remove Tab, a list box's Edit Items...) with Show Smart Tag, then View Code, Bring to Front, Send to Back, Align to Grid, Lock Controls, Select 'parent', Cut, Copy, Paste, Delete and Properties. Entries that don't apply are grayed, as in the classic IDE: nothing to cut, copy, delete or align with the form selected, nothing to paste until you copy. Align, Make Same Size and Tab Order moved off this menu: they're in Format and View, as there. A component in the tray has its own commands first too (an image list's Choose images opens its Images editor), then View Code, the clipboard, Rename, Line Up Icons and Properties, and the tray's background Paste and Line Up Icons. A command's underlined letter (Insert Standard Items on a menu strip) works as in any menu, instead of showing as an&.- Edit → Undo, Redo, Cut, Copy, Paste and Select All work in the designer.
- Select All (
Ctrl+A) takes every component of the form, the controls inside containers and the tray's components included (moved, a control inside a selected container moves only with it), and Paste goes into the selected control's container (a group box, a panel, a split container's panel), not always the form. - The Format menu is grayed when the selection doesn't suit a command, as in the classic IDE: Align Lefts to Bottoms and Make Same Size need two controls or more, spacing two or more in one container, and a tray component in the selection grays what is for controls.
- Lock Controls in the Windows Forms designer (user guide), in the context menu and at the bottom of Format: locked controls show a lock and no grab handles, and a drag, the arrow keys or the handles can't move or resize them; Format aligns others to a locked control and leaves it in place. It's checked while any control of the form is locked, and choosing it then unlocks them all; a control's Locked property locks one control. Locks are kept in the form's
.resxas the classic IDE keeps them, never in the code, and undo takes them back. - The data tip, laid out like the classic IDE's (user guide): hovering a variable or a member access while the program is stopped shows a header right over it, its name on the code's, with its icon, a View drop-down where a visualizer applies (the magnifier opens the likely one, the arrow lists them all) and its value in a box. Expanding it (the pointer resting on its chevron, a click, or
Right) opens its members in a tip of their own, below and to the right, and each member expands the same way, a tip per level. Rows are compact, a long value stops at 400 px with the whole value in its tooltip, a tip shows 15 rows before it scrolls, and the type is in the name's tooltip instead of after each value. Near the editor's bottom edge the tips open upwards, and near its right edge they move left. The header passes the code's gestures on: a double-click on its name selects the word,Ctrl+Clickgoes to the definition and the wheel scrolls the editor. HoldingCtrlfades the tips and lets the pointer through, so the code under them can be read andCtrl+Clicked.- Members as the classic IDE groups them: each row has its kind's icon (the completion list's blue wrench for a property, a field's brick, a constant, an event). The private, protected and internal members your own code declares are listed with the others, in name order, with a lock on their icon; a library type's go under Non-Public members, and Static members come last. A property whose getter threw reads "threw InvalidOperationException: …" in the error color, and still expands to the exception; a value the debugger couldn't evaluate reads "Couldn't evaluate", with Re-evaluate beside it. Locals, Autos, Watch and QuickWatch group members the same way. In a remote session, where the program's assemblies aren't on this machine, nothing is grouped and the icons are guessed from the names.
- Collections as their elements: a
List<T>,Dictionary<TKey, TValue>,HashSet<T>,Queue<T>orStack<T>expands to its elements (a dictionary's entries named by their keys, each expanding to Key and Value; a queue from its head, a stack from its top), then Raw View with the collection's own members. The debugger can't build their debugger views, so Codalus IDE reads the elements from the collections' fields, on every .NET version from 6 to 11, .NET Framework and Mono. Dictionaries and hash sets get the Grid Visualizer too. In a long list, the[DebuggerDisplay]text of the elements past the first 60 is filled in as they scroll into view. - Editing in place: click a value in the header or a row (or press
F2orEnter), type, and pressEnterto set it,Escapeto put it back. When the debugger refuses the value, the box stays open with its message under it, so the fix is a keystroke away. A value that can't be changed (a property without a setter, a constant, a read-only field, any value in a Mono program) opens no box, and its tooltip says why. - Changed values are red: a value that differs from the one it had when the program last stopped is drawn in red, in the data tip as in pinned tips.
- Pin any row: the pin at the end of the row under the pointer pins that member (
app.Properties) to the line, not only the hovered expression. Pinned tips look like the header, with a strip to unpin them on their left and their comment under them; while the program is paused they expand into the same tips, and while it runs their last values are muted. Several on one line stack. - Errors and warnings at the hovered name show in a strip right above the header, with the code's link, the message, Fix and Other Fixes, as in Quick Info; when the tips open upwards near the editor's bottom, the strip moves under the header.
- Locals, Autos, Watch and QuickWatch use the data tip's rows: one flat list under a Name | Value | Type header, each level's indent inside the name cell, so values and types stay in their columns however deep you go (drag the header's edges to resize the columns). They have the data tip's icons, groups, collection views, View button and in-place editing (
F2,Enteror a double-click on a value), changed values in red, andRight/Leftexpand and collapse. What you expanded stays expanded when you step, matched by expression. A watch that doesn't evaluate shows the error icon and its message in the error color. The "Set" dialog is gone.
- NuGet's verified owners (user guide, #78): a blue badge with a check after a package's ID, in Browse and in the details' heading, says nuget.org reserved the ID's prefix for one of the package's owners; its tooltip adds that the authors shown are not verified, and screen readers read "verified owner". It shows only for packages from
https://api.nuget.orgthat can be nobody else's copy: nuget.org chosen in the source box (or your only source), or package source mapping sending the ID to nuget.org alone. A mirror or a feed with nuget.org as its upstream never shows it. Installed, Updates and Consolidate show it in the details, from one nuget.org search beside them; off...
Codalus IDE 0.6.0-nightly.20261023.522
Codalus IDE 0.6.0-nightly.20261023.522
- The Windows Forms designer's Properties window works as the classic IDE's (user guide):
- Categories collapse, and stay so as you select other components; a component list above the grid selects the form or any of its components by name.
- Font, Location, Size, Padding, Margin and FlatAppearance open into their parts, each edited alone and written as one assignment of the whole value (
button1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);). - Editors under the value: colors in Custom, Web and System tabs (with Define Color),
TextAlign's nine positions, multi-line text, a menu item's shortcut keys, flags, Dock and Anchor, and dates. AcceptButton, CancelButton, ContextMenuStrip, Cursor (with each cursor's picture) and the font's name offer their choices; a tool tip with line breaks opens the multi-line editor. - Editors behind "…" as panels over the form: Font (one undo step), the String Collection Editor for a text box's
Lines, Select Resource for images (the form's resources or the project'sProperties/Resources.resx, with a preview) and the collection editor, whose items' properties use the same grid. - An invalid value (
abcfor a location's X) says why: OK goes back to what you typed, Cancel puts the old value back. - Reset and Description on a row's right-click menu, a double-click cycles a value, set values are bold in the value cell, and
F4orAlt+Downopens the selected row's drop-down (keys). - A text box's or combo box's
AutoCompleteCustomSourceis edited as a collection. - Read-only values can be selected and copied (
Ctrl+Ccopies a row's value), and several edits sent together (the font editor's OK) apply all or none.
- The Properties window for Solution Explorer's selection (user guide) has the same grid: Categorized and Alphabetical, collapsible categories, a resizable description, Reset on the right-click menu, and Property Pages, which opens a project's properties or, for the solution, the Configuration Manager.
- The Windows Forms designer's context menu is the classic IDE's (user guide): right-click a control (or press
Shift+F10) for its designer's own commands first (a tab control's Add Tab and Remove Tab, a list box's Edit Items...) with Show Smart Tag, then View Code, Bring to Front, Send to Back, Align to Grid, Lock Controls, Select 'parent', Cut, Copy, Paste, Delete and Properties. Entries that don't apply are grayed, as in the classic IDE: nothing to cut, copy, delete or align with the form selected, nothing to paste until you copy. Align, Make Same Size and Tab Order moved off this menu: they're in Format and View, as there. A component in the tray has its own commands first too (an image list's Choose images opens its Images editor), then View Code, the clipboard, Rename, Line Up Icons and Properties, and the tray's background Paste and Line Up Icons. A command's underlined letter (Insert Standard Items on a menu strip) works as in any menu, instead of showing as an&.- Edit → Undo, Redo, Cut, Copy, Paste and Select All work in the designer.
- Select All (
Ctrl+A) takes every component of the form, the controls inside containers and the tray's components included (moved, a control inside a selected container moves only with it), and Paste goes into the selected control's container (a group box, a panel, a split container's panel), not always the form. - The Format menu is grayed when the selection doesn't suit a command, as in the classic IDE: Align Lefts to Bottoms and Make Same Size need two controls or more, spacing two or more in one container, and a tray component in the selection grays what is for controls.
- Lock Controls in the Windows Forms designer (user guide), in the context menu and at the bottom of Format: locked controls show a lock and no grab handles, and a drag, the arrow keys or the handles can't move or resize them; Format aligns others to a locked control and leaves it in place. It's checked while any control of the form is locked, and choosing it then unlocks them all; a control's Locked property locks one control. Locks are kept in the form's
.resxas the classic IDE keeps them, never in the code, and undo takes them back. - The data tip, laid out like the classic IDE's (user guide): hovering a variable or a member access while the program is stopped shows a header right over it, its name on the code's, with its icon, a View drop-down where a visualizer applies (the magnifier opens the likely one, the arrow lists them all) and its value in a box. Expanding it (the pointer resting on its chevron, a click, or
Right) opens its members in a tip of their own, below and to the right, and each member expands the same way, a tip per level. Rows are compact, a long value stops at 400 px with the whole value in its tooltip, a tip shows 15 rows before it scrolls, and the type is in the name's tooltip instead of after each value. Near the editor's bottom edge the tips open upwards, and near its right edge they move left. The header passes the code's gestures on: a double-click on its name selects the word,Ctrl+Clickgoes to the definition and the wheel scrolls the editor. HoldingCtrlfades the tips and lets the pointer through, so the code under them can be read andCtrl+Clicked.- Members as the classic IDE groups them: each row has its kind's icon (the completion list's blue wrench for a property, a field's brick, a constant, an event). The private, protected and internal members your own code declares are listed with the others, in name order, with a lock on their icon; a library type's go under Non-Public members, and Static members come last. A property whose getter threw reads "threw InvalidOperationException: …" in the error color, and still expands to the exception; a value the debugger couldn't evaluate reads "Couldn't evaluate", with Re-evaluate beside it. Locals, Autos, Watch and QuickWatch group members the same way. In a remote session, where the program's assemblies aren't on this machine, nothing is grouped and the icons are guessed from the names.
- Collections as their elements: a
List<T>,Dictionary<TKey, TValue>,HashSet<T>,Queue<T>orStack<T>expands to its elements (a dictionary's entries named by their keys, each expanding to Key and Value; a queue from its head, a stack from its top), then Raw View with the collection's own members. The debugger can't build their debugger views, so Codalus IDE reads the elements from the collections' fields, on every .NET version from 6 to 11, .NET Framework and Mono. Dictionaries and hash sets get the Grid Visualizer too. In a long list, the[DebuggerDisplay]text of the elements past the first 60 is filled in as they scroll into view. - Editing in place: click a value in the header or a row (or press
F2orEnter), type, and pressEnterto set it,Escapeto put it back. When the debugger refuses the value, the box stays open with its message under it, so the fix is a keystroke away. A value that can't be changed (a property without a setter, a constant, a read-only field, any value in a Mono program) opens no box, and its tooltip says why. - Changed values are red: a value that differs from the one it had when the program last stopped is drawn in red, in the data tip as in pinned tips.
- Pin any row: the pin at the end of the row under the pointer pins that member (
app.Properties) to the line, not only the hovered expression. Pinned tips look like the header, with a strip to unpin them on their left and their comment under them; while the program is paused they expand into the same tips, and while it runs their last values are muted. Several on one line stack. - Errors and warnings at the hovered name show in a strip right above the header, with the code's link, the message, Fix and Other Fixes, as in Quick Info; when the tips open upwards near the editor's bottom, the strip moves under the header.
- Locals, Autos, Watch and QuickWatch use the data tip's rows: one flat list under a Name | Value | Type header, each level's indent inside the name cell, so values and types stay in their columns however deep you go (drag the header's edges to resize the columns). They have the data tip's icons, groups, collection views, View button and in-place editing (
F2,Enteror a double-click on a value), changed values in red, andRight/Leftexpand and collapse. What you expanded stays expanded when you step, matched by expression. A watch that doesn't evaluate shows the error icon and its message in the error color. The "Set" dialog is gone.
- NuGet's verified owners (user guide, #78): a blue badge with a check after a package's ID, in Browse and in the details' heading, says nuget.org reserved the ID's prefix for one of the package's owners; its tooltip adds that the authors shown are not verified, and screen readers read "verified owner". It shows only for packages from
https://api.nuget.orgthat can be nobody else's copy: nuget.org chosen in the source box (or your only source), or package source mapping sending the ID to nuget.org alone. A mirror or a feed with nuget.org as its upstream never shows it. Installed, Updates and Consolidate show it in the details, from one nuget.org se...
Codalus IDE 0.5.0
Codalus IDE 0.5.0
- IntelliSense like a classic IDE's (user guide): in C# and Visual Basic, the completion list, parameter info and Quick Info show code in the editor's own colors, and generic types as you use them (
LayoutBuilderBase<PageModel, PageBuilder<PageModel>>.AddTab(…), notLayoutBuilderBase<TModel, TBuilder>). Other languages get the same popups, in plain text.- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
Alt+Cclasses,Alt+Mmethods,Alt+Xextension methods and so on. With the Emacs keyboard scheme,Alt+F,Alt+VandAlt+Xkeep their Emacs meaning. - Commit characters: typing
(,.,;, Space or other punctuation inserts the selected item first (Conthen.givesConsole.). Before you type anything, and where you're naming something new (a lambda's parameter), the selection is soft (an outline) and nothing is committed. Text Editor → Completion: Commit on Space turns Space off. In Visual Basic, Enter also starts a new line after inserting. - Target type matches (C#): the items of the type expected at the caret (an argument, an assignment, a return value) are preselected, and
Alt+J(the target icon in the filter bar) shows only them. - Parameter info sits above the line, so the two no longer overlap. It has
˄ 1 of 2 ˅chevrons (or↑↓), the parameter you're typing in bold, the summary and that parameter's description. - Quick Info is one tooltip: the symbol's icon and declaration, wrapped instead of cut off, and "Returns:" once. Under it, each error's code links to its documentation, with Fix (
Alt+., the top fix), Other Fixes (Alt+Enter) and, with AI on, Add to Chat. It no longer opens over the completion list or parameter info.Alt+.(Apply Top Fix) also works without Quick Info: it applies the top fix for the error or warning at the caret, or on its line. - The C# Interactive window has the same completion list and parameter info.
- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
- Hot Reload while debugging a Blazor WebAssembly app (user guide): Start Debugging runs the app's dev server under
dotnet watch, so saving a file (or Apply Code Changes:Alt+F10,Shift+Alt+F10on Linux,⌥F10on macOS) applies the edit to the app in the browser while the debugger stays attached, and breakpoints stop in the changed code. Before, Hot Reload worked only without the debugger. The Hot Reload while debugging setting (debug.hotReload, on by default) turns it off. Programs the debugger runs itself, such as a Blazor Server app, still restart to show an edit: the .NET runtime refuses updates to them (ADR 0040). - The merge editor looks and works like Visual Studio's (user guide): the incoming and current versions side by side, named by their branches ("Incoming: master", "Current: develop"), with a check box beside each conflict: check one side to take its block, both to take both, neither to undo it. A box in each header takes every conflict from that side. The result below no longer shows git's
<<<<<<<markers: each unresolved conflict shows the merge base's text, highlighted in muted red, and you can still edit it. A compact toolbar has the previous and next conflict (Shift+F8,F8), the count ("1 Conflict (1 Remaining)") and Accept Merge; its gear menu switches to three columns, puts your version on the left if you prefer, and takes all incoming or all current. The three panes scroll together, and a status bar shows the zoom, the caret, the indentation, the line endings and the encoding, which Accept Merge now keeps. The tab is the file's name, with*once you've changed something. The gear menu also has Reset All Conflicts, and the layout and the side on the left are remembered (git.mergeEditor.layout,git.mergeEditor.incomingOnLeft). The Command Palette has Next Conflict, Previous Conflict, Take Incoming, Take Current and Take Both (for the conflict at the result's caret), Take All Incoming, Take All Current and Accept Merge. - One look for every menu, as in Visual Studio: context menus and drop-down menus have 24 px rows, an icon column on every entry so text lines up in every menu (a check mark takes the icon's place), the shortcut on the right in muted text, separators that start under the text and a small submenu chevron. The menus that windows make themselves have icons now, like the main menus: Git Changes (files, stashes, the Git menu, Commit's choices and the view options), Git History, the Start window's recent list, Service References, Breakpoints, Test Explorer and a test's CodeLens, Locals and Watch, pinned data tips, the inheritance margin, Endpoints Explorer, Task Runner Explorer, the Windows Forms designer's tray, the merge editor's gear menu, Counters' export and the Hot Reload menu.
- The editor works more like Visual Studio's:
- CodeLens sits above each declaration (user guide), on a small row of its own lined up with the code, instead of at the end of its line. A declaration on the first line, or right after a folded block, keeps it at the end of its line.
- Holding
Ctrl(⌘on macOS) over a symbol shows Go to Definition's link (user guide): the symbol is underlined and the pointer is a hand when the language service knows its definition, whichCtrl+Clickgoes to as before. - The breakpoint margin comes before the line numbers (user guide), and with the pointer over it a faint circle shows the line a click adds a breakpoint to.
- Document tabs have a pin beside a thin close button (user guide): the selected or hovered tab shows the pin to pin it (to the left of its group), and a pinned tab keeps it, upright, to unpin it.
- Codalus IDE comes to the front when the program stops (user guide) at a breakpoint, an exception or a step, even when the program's window or the browser had the focus, so
F10andF11go to the debugger. Before, the program or the browser kept the focus, and in a Blazor WebAssembly app on Windows and LinuxF11toggled the browser's full screen instead of stepping into the method. - Solution Explorer sorts like Visual Studio (user guide): a project's
Properties(My Project) andwwwrootfolders come first, and names with_sort before letters. - Browse for any path (user guide): New Project's and New Solution's location, and every other field where you type a path on your computer, have a folder button beside them (Browse…) that opens your OS's folder or file picker where the typed path is: EF Core's compiled model folder and Scaffold's output folder, Publish's folder, a SQLite connection's file, a launch profile's executable and working directory, an external tool's command and initial directory, and in Options the Android SDK and JDK locations and the settings sync folder. A folder inside the project stays relative to it. Plugins get the same button with plugin API 1.1's
InputBoxOptions.Browse(plugins.md). - Fixed: debugging a Blazor WebAssembly app on a busy machine sometimes never stopped at a breakpoint in its components: the page ran, but the browser had opened it before the dev server's debugging proxy was ready for it, so the proxy never saw the app's .NET runtime start. The page now opens once the proxy has attached to it (ADR 0026).
- Fixed: the Live Visual Tree could stay empty after Start Without Debugging (
Ctrl+F5) or Start Debugging (F5) of an Avalonia app, or a WPF app on Windows: the app's output said its live agent's connection was refused, in a line starting "Codalus previewer agent:" for an Avalonia app or "Codalus WPF live agent:" for a WPF app. The check for the HTTPS development certificate, made as the app starts, also prepared a live session, and when it finished after the start it replaced the app's session and closed the port the app connects to. Only the app that starts gets a session now. - Fixed: a solution's requests to its build host, such as reading the installed packages, now and then failed with "Handle is not initialized." when they evaluated projects just as a design-time build ended. The end of a build clears MSBuild's string cache, which isn't safe while the same process evaluates; the two no longer overlap. An unexpected error in the build host now also logs its full stack.
- Fixed: a change Codalus IDE made to a project file, such as Exclude From Project or Include In Project, now and then showed an error such as "The node is not parented by this object.": after the change, the build host read the project file again while its file watcher was reading it too, or a build was using it. They now take turns.
- Fixed: the Windows Forms designer's Toolbox could miss your project's own controls and components when you opened a form while the project was still loading or restoring, until you reopened the designer. It now asks again once the project has loaded, and when you come back to the designer.
- Fixed: on Linux, Codalus IDE could crash (a segmentation fault) the first time it drew text in a bold or italic its font has no face for, such as an italic of a font that has only an oblique: it made that face from a copy of the font file, whose me...
Codalus IDE 0.5.0-nightly.20261021.412
Codalus IDE 0.5.0-nightly.20261021.412
- IntelliSense like a classic IDE's (user guide): in C# and Visual Basic, the completion list, parameter info and Quick Info show code in the editor's own colors, and generic types as you use them (
LayoutBuilderBase<PageModel, PageBuilder<PageModel>>.AddTab(…), notLayoutBuilderBase<TModel, TBuilder>). Other languages get the same popups, in plain text.- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
Alt+Cclasses,Alt+Mmethods,Alt+Xextension methods and so on. With the Emacs keyboard scheme,Alt+F,Alt+VandAlt+Xkeep their Emacs meaning. - Commit characters: typing
(,.,;, Space or other punctuation inserts the selected item first (Conthen.givesConsole.). Before you type anything, and where you're naming something new (a lambda's parameter), the selection is soft (an outline) and nothing is committed. Text Editor → Completion: Commit on Space turns Space off. In Visual Basic, Enter also starts a new line after inserting. - Target type matches (C#): the items of the type expected at the caret (an argument, an assignment, a return value) are preselected, and
Alt+J(the target icon in the filter bar) shows only them. - Parameter info sits above the line, so the two no longer overlap. It has
˄ 1 of 2 ˅chevrons (or↑↓), the parameter you're typing in bold, the summary and that parameter's description. - Quick Info is one tooltip: the symbol's icon and declaration, wrapped instead of cut off, and "Returns:" once. Under it, each error's code links to its documentation, with Fix (
Alt+., the top fix), Other Fixes (Alt+Enter) and, with AI on, Add to Chat. It no longer opens over the completion list or parameter info.Alt+.(Apply Top Fix) also works without Quick Info: it applies the top fix for the error or warning at the caret, or on its line. - The C# Interactive window has the same completion list and parameter info.
- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
- Hot Reload while debugging a Blazor WebAssembly app (user guide): Start Debugging runs the app's dev server under
dotnet watch, so saving a file (or Apply Code Changes:Alt+F10,Shift+Alt+F10on Linux,⌥F10on macOS) applies the edit to the app in the browser while the debugger stays attached, and breakpoints stop in the changed code. Before, Hot Reload worked only without the debugger. The Hot Reload while debugging setting (debug.hotReload, on by default) turns it off. Programs the debugger runs itself, such as a Blazor Server app, still restart to show an edit: the .NET runtime refuses updates to them (ADR 0040). - The merge editor looks and works like Visual Studio's (user guide): the incoming and current versions side by side, named by their branches ("Incoming: master", "Current: develop"), with a check box beside each conflict: check one side to take its block, both to take both, neither to undo it. A box in each header takes every conflict from that side. The result below no longer shows git's
<<<<<<<markers: each unresolved conflict shows the merge base's text, highlighted in muted red, and you can still edit it. A compact toolbar has the previous and next conflict (Shift+F8,F8), the count ("1 Conflict (1 Remaining)") and Accept Merge; its gear menu switches to three columns, puts your version on the left if you prefer, and takes all incoming or all current. The three panes scroll together, and a status bar shows the zoom, the caret, the indentation, the line endings and the encoding, which Accept Merge now keeps. The tab is the file's name, with*once you've changed something. The gear menu also has Reset All Conflicts, and the layout and the side on the left are remembered (git.mergeEditor.layout,git.mergeEditor.incomingOnLeft). The Command Palette has Next Conflict, Previous Conflict, Take Incoming, Take Current and Take Both (for the conflict at the result's caret), Take All Incoming, Take All Current and Accept Merge. - One look for every menu, as in Visual Studio: context menus and drop-down menus have 24 px rows, an icon column on every entry so text lines up in every menu (a check mark takes the icon's place), the shortcut on the right in muted text, separators that start under the text and a small submenu chevron. The menus that windows make themselves have icons now, like the main menus: Git Changes (files, stashes, the Git menu, Commit's choices and the view options), Git History, the Start window's recent list, Service References, Breakpoints, Test Explorer and a test's CodeLens, Locals and Watch, pinned data tips, the inheritance margin, Endpoints Explorer, Task Runner Explorer, the Windows Forms designer's tray, the merge editor's gear menu, Counters' export and the Hot Reload menu.
- The editor works more like Visual Studio's:
- CodeLens sits above each declaration (user guide), on a small row of its own lined up with the code, instead of at the end of its line. A declaration on the first line, or right after a folded block, keeps it at the end of its line.
- Holding
Ctrl(⌘on macOS) over a symbol shows Go to Definition's link (user guide): the symbol is underlined and the pointer is a hand when the language service knows its definition, whichCtrl+Clickgoes to as before. - The breakpoint margin comes before the line numbers (user guide), and with the pointer over it a faint circle shows the line a click adds a breakpoint to.
- Document tabs have a pin beside a thin close button (user guide): the selected or hovered tab shows the pin to pin it (to the left of its group), and a pinned tab keeps it, upright, to unpin it.
- Codalus IDE comes to the front when the program stops (user guide) at a breakpoint, an exception or a step, even when the program's window or the browser had the focus, so
F10andF11go to the debugger. Before, the program or the browser kept the focus, and in a Blazor WebAssembly app on Windows and LinuxF11toggled the browser's full screen instead of stepping into the method. - Solution Explorer sorts like Visual Studio (user guide): a project's
Properties(My Project) andwwwrootfolders come first, and names with_sort before letters. - Browse for any path (user guide): New Project's and New Solution's location, and every other field where you type a path on your computer, have a folder button beside them (Browse…) that opens your OS's folder or file picker where the typed path is: EF Core's compiled model folder and Scaffold's output folder, Publish's folder, a SQLite connection's file, a launch profile's executable and working directory, an external tool's command and initial directory, and in Options the Android SDK and JDK locations and the settings sync folder. A folder inside the project stays relative to it. Plugins get the same button with plugin API 1.1's
InputBoxOptions.Browse(plugins.md). - Fixed: debugging a Blazor WebAssembly app on a busy machine sometimes never stopped at a breakpoint in its components: the page ran, but the browser had opened it before the dev server's debugging proxy was ready for it, so the proxy never saw the app's .NET runtime start. The page now opens once the proxy has attached to it (ADR 0026).
- Fixed: the Live Visual Tree could stay empty after Start Without Debugging (
Ctrl+F5) or Start Debugging (F5) of an Avalonia app, or a WPF app on Windows: the app's output said its live agent's connection was refused, in a line starting "Codalus previewer agent:" for an Avalonia app or "Codalus WPF live agent:" for a WPF app. The check for the HTTPS development certificate, made as the app starts, also prepared a live session, and when it finished after the start it replaced the app's session and closed the port the app connects to. Only the app that starts gets a session now. - Fixed: a solution's requests to its build host, such as reading the installed packages, now and then failed with "Handle is not initialized." when they evaluated projects just as a design-time build ended. The end of a build clears MSBuild's string cache, which isn't safe while the same process evaluates; the two no longer overlap. An unexpected error in the build host now also logs its full stack.
- Fixed: a change Codalus IDE made to a project file, such as Exclude From Project or Include In Project, now and then showed an error such as "The node is not parented by this object.": after the change, the build host read the project file again while its file watcher was reading it too, or a build was using it. They now take turns.
- Fixed: the Windows Forms designer's Toolbox could miss your project's own controls and components when you opened a form while the project was still loading or restoring, until you reopened the designer. It now asks again once the project has loaded, and when you come back to the designer.
- Fixed: on Linux, Codalus IDE could crash (a segmentation fault) the first time it drew text in a bold or italic its font has no face for, such as an italic of a font that has only an oblique: it made that face from a copy of th...
Codalus IDE 0.5.0-nightly.20261021.386
Codalus IDE 0.5.0-nightly.20261021.386
- IntelliSense like a classic IDE's (user guide): the completion list, parameter info and Quick Info show code in the editor's own colors, and generic types as you use them (
LayoutBuilderBase<PageModel, PageBuilder<PageModel>>.AddTab(…), notLayoutBuilderBase<TModel, TBuilder>).- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
Alt+Cclasses,Alt+Mmethods,Alt+Xextension methods and so on. - Commit characters: typing
(,.,;, Space or other punctuation inserts the selected item first (Conthen.givesConsole.). Before you type anything, and where you're naming something new (a lambda's parameter), the selection is soft (an outline) and nothing is committed. Text Editor → Completion: Commit on Space turns Space off. In Visual Basic, Enter also starts a new line after inserting. - Target type matches (C#): the items of the type expected at the caret (an argument, an assignment, a return value) are preselected, and
Alt+J(the target icon in the filter bar) shows only them. - Parameter info sits above the line, so the two no longer overlap. It has
˄ 1 of 2 ˅chevrons (or↑↓), the parameter you're typing in bold, the summary and that parameter's description. - Quick Info is one tooltip: the symbol's icon and declaration, wrapped instead of cut off, and "Returns:" once. Under it, each error's code links to its documentation, with Fix (
Alt+., the top fix), Other Fixes (Alt+Enter) and, with AI on, Add to Chat. It no longer opens over the completion list or parameter info. - The C# Interactive window uses the same popups.
- The completion list opens below the line. Each item has an icon for its kind, and the characters you typed are bold. The selected item's declaration, overload count and summary show beside it. Filters at the bottom show only some kinds:
- Hot Reload while debugging a Blazor WebAssembly app (user guide): Start Debugging runs the app's dev server under
dotnet watch, so saving a file (or Apply Code Changes,Alt+F10) applies the edit to the app in the browser while the debugger stays attached, and breakpoints stop in the changed code. Before, Hot Reload worked only without the debugger. The Hot Reload while debugging setting (debug.hotReload, on by default) turns it off. Programs the debugger runs itself, such as a Blazor Server app, still restart to show an edit: the .NET runtime refuses updates to them (ADR 0040). - The merge editor looks and works like Visual Studio's (user guide): the incoming and current versions side by side, named by their branches ("Incoming: master", "Current: develop"), with a check box beside each conflict: check one side to take its block, both to take both, neither to undo it. A box in each header takes every conflict from that side. The result below no longer shows git's
<<<<<<<markers: each unresolved conflict shows the merge base's text, highlighted in muted red, and you can still edit it. A compact toolbar has the previous and next conflict (Shift+F8,F8), the count ("1 Conflict (1 Remaining)") and Accept Merge; its gear menu switches to three columns, puts your version on the left if you prefer, and takes all incoming or all current. The three panes scroll together, and a status bar shows the zoom, the caret, the indentation, the line endings and the encoding, which Accept Merge now keeps. The tab is the file's name, with*once you've changed something. - One look for every menu, as in Visual Studio: context menus and drop-down menus have 24 px rows, an icon column on every entry so text lines up in every menu (a check mark takes the icon's place), the shortcut on the right in muted text, separators that start under the text and a small submenu chevron. The menus that windows make themselves have icons now, like the main menus: Git Changes (files, stashes, the Git menu, Commit's choices and the view options), Git History, the Start window's recent list, Service References, Breakpoints, Test Explorer and a test's CodeLens, Locals and Watch, pinned data tips, the inheritance margin, Endpoints Explorer, Task Runner Explorer, the Windows Forms designer's tray, the merge editor's gear menu, Counters' export and the Hot Reload menu.
- The editor works more like Visual Studio's:
- CodeLens sits above each declaration (user guide), on a small row of its own lined up with the code, instead of at the end of its line. A declaration on the first line, or right after a folded block, keeps it at the end of its line.
- Holding
Ctrl(⌘on macOS) over a symbol shows Go to Definition's link (user guide): the symbol is underlined and the pointer is a hand when the language service knows its definition, whichCtrl+Clickgoes to as before. - The breakpoint margin comes before the line numbers (user guide), and with the pointer over it a faint circle shows the line a click adds a breakpoint to.
- Document tabs have a pin beside a thin close button (user guide): the selected or hovered tab shows the pin to pin it (to the left of its group), and a pinned tab keeps it, upright, to unpin it.
- Codalus IDE comes to the front when the program stops (user guide) at a breakpoint, an exception or a step, even when the program's window or the browser had the focus, so
F10andF11go to the debugger. On Windows, the debugged app kept the focus, and in a Blazor WebAssembly appF11toggled the browser's full screen instead of stepping into the method. - Solution Explorer sorts like Visual Studio (user guide): a project's
Properties(My Project) andwwwrootfolders come first, and names with_sort before letters. - Browse for any path (user guide): New Project's and New Solution's location, and every other field where you type a path on your computer, have a folder button beside them (Browse…) that opens your OS's folder or file picker where the typed path is: EF Core's compiled model folder and Scaffold's output folder, Publish's folder, a SQLite connection's file, a launch profile's executable and working directory, an external tool's command and initial directory, and in Options the Android SDK and JDK locations and the settings sync folder. A folder inside the project stays relative to it. Plugins get the same button with plugin API 1.1's
InputBoxOptions.Browse(plugins.md). - Fixed: a solution's requests to its build host, such as reading the installed packages, now and then failed with "Handle is not initialized." when they evaluated projects just as a design-time build ended. The end of a build clears MSBuild's string cache, which isn't safe while the same process evaluates; the two no longer overlap. An unexpected error in the build host now also logs its full stack.
- Fixed: on Linux, Codalus IDE could crash (a segmentation fault) the first time it drew text in a bold or italic its font has no face for, such as an italic of a font that has only an oblique: it made that face from a copy of the font file, whose memory could be freed while it was copied. The copy is now made safely. Also, when an italic or a bold was the first style of a font drawn, the regular text after it could come out slanted or bold.
Other changes
- Shell: synthetic bold and italic faces without reading the font file (31e8108)
- Shell system fonts: file synthetic faces by how they draw, find them by the platform's name (8f25887)
- Shell system fonts: Avalonia's synthetic faces, with the font file copied safely (b371a84)
- SystemFontsTests: check that the font file's stream outlives the read (e9dca2b)
All changes: v0.5.0-nightly.20261021.382...v0.5.0-nightly.20261021.386