IDE 2026 Release Notes

We present here a few highlights of the new features in IDE products for the 2026 release.

IDE New Release Schema

GNAT Studio and the Ada & SPARK VS Code extension now follow a release schedule based on continuous delivery, with a schedule of one release every quarter.

This means that new features, improvements and bug fixes will be delivered more frequently, with smaller and more incremental changes.

In terms of versioning, the major version number will be incremented every year, while the minor version number will be incremented every quarter (e.g: 2026.0, 2026.1, 2026.2, 2026.3).

SPARK in VS Code

The Ada & SPARK VS Code extension now provides several commands to run GNATprove with various options directly from the Command Palette.

These commands open an interactive picker to choose options before calling GNATprove. It is also possible to call the options picker directly with the command SPARK: Select GNATprove options….

_images/gnatprove-option-picker.png

If you prefer to invoke GNATprove without choosing options interactively, the Tasks: Run Task command offer non-interactive task counterparts of the above commands.

If you have SPARK Pro 26.0 or newer, a SARIF report is generated and opened automatically in VS Code after execution.

_images/gnatprove-sarif.png

LSP Code Visualizer

The Ada & SPARK VS Code extension now integrates a Code Visualizer based on LSP requests displaying code information as interactive graphs (e.g: Types: Show Type Hierarchy Graph command), for any language with LSP support in VS Code (e.g. Ada, Python, TypeScript).

_images/code_visualizer.gif

The extension provides four interactive graphs:

For all languages:

  • Calls: Show Call Hierarchy Graph - Shows function call relationships

  • Types: Show Type Hierarchy Graph - Shows type relationships

For Ada/GPR files:

  • Ada: Show File Dependencies Graph - Shows file dependencies

  • Ada: Show GPR Dependencies Graph - Shows project relationships

All the interactive graphs support zooming, folding, searching and exporting to PNG or SVG.

GNATformat Integration in GNAT Studio

GNATformat, the new Ada code formatter, is now integrated into GNAT Studio via the LSP and the Ada Language Server.

By default, GNAT Studio uses its legacy formatter, but you can switch to LSP-based formatting with GNATformat from the Editor/Ada preferences page (see the Formatting section). Additional formatting options are also available on this page.

_images/formatting_preferences.png

Starting with GNAT Studio 2026.1, the LSP formatting provider using GNATformat will be enabled by default.

GNATcoverage in VS Code

The Ada & SPARK VS Code extension now provides integration with GNATcoverage, including importing coverage reports and running GNATtest tests in coverage mode.

_images/gnatcov-report.png

For more information about the integration, please refer to the GNATcoverage section of the Ada & SPARK VS Code extension User’s Guide.

VS Code Cross & Embedded Support

If you have loaded an embedded project, the Ada & SPARK VS Code extension will automatically provide predefined tasks, commands and code lenses to run and debug your application through GNATemulator, if available for your target.

_images/gnatemu-debug-codelens.gif

For more information about the integration, please refer to the Cross & Embedded Support section of the Ada & SPARK VS Code extension User’s Guide.

Refactorings

Several new refactorings have been added to the Ada Language Server, and thus are available in both GNAT Studio and the Ada & SPARK VS Code extension.

The Extract variable refactoring allows extraction of an expression into a new variable, replacing all occurrences of the expression in the selected scope.

_images/extract_variable.gif

The Delete entity refactoring has also been added, allowing you to delete an entity and all its references in the project.

_images/delete_entity.gif

The Swap if/else branches refactoring allows you to swap the branches of an if statement.

_images/swap_if_else.gif

The Sort cases refactoring sorts the branches of a case statement, either alphabetically or according to the order of enumeration literals.

_images/sort_case_alphabetical.gif

GNATdoc

GNATdoc, the Ada documentation generator, now supports RST and ODF (Open Document Format) output.

It also supports embedding images in code documentation through extended Markdown syntax, and a project attribute providing the directory that contains the images, like in the following example:

package Documentation is
    for Image_Dirs ("html") use ("images");
end Documentation;

A new @belongs-to tag has also been added to override the type associated to a documented entity.

Various issues identified in the previous release have also been addressed.

GtkAda

Glade is no longer maintained by the GNOME community, as per the release notes for the last stable release, 3.40.0. Using Glade to produce XML GtkBuilder UI definitions is now discouraged. GtkAda 26.x will be the last release to include Glade.

However, the XML GtkBuilder UI definitions format itself is still a supported artifact of the Gtk.Builder API, and a valid way of interfacing with the Gtkada.Builder package.

Miscellaneous UI/UX improvements

VS Code status bar now displays an item showing the project-loading status and useful commands provided by the Ada & SAPRK extension when hovering over it.

_images/status_bar.gif

Commands creating new main units, packages and GPR project files have been added, all available under the VS Code File ‣ New File… menu. A new Ada: Open User’s Guide command has also been added to open the Ada & SPARK VS Code extension User’s Guide directly from the Command Palette.

Pressing Enter in VS Code while editing a comment in Ada and GPR files will automatically split the comment across multiple lines.

_images/split_comment.gif

You can now open log files directly in GNAT Studio respectively via the Help ‣ Open GNAT Studio Log File and Help ‣ Open Ada Language Server Log File menus.

Go to Definition now jumps respectively on the begin, private and body keywords for subprograms, packages and tasks when clicking on the is keyword following their declarations.

_images/goto_definition_is.gif

The display for local variables in GNAT Studio debugging sessions has been improved, showing more information about the variable type and value.

_images/local_variables.png

Extended projects and files that do not belong to the loaded project are now better supported regarding navigation features such as Go to Definition, Go to Declaration and Find all References.