GNAT Studio 23 Release Notes ============================ We present here a few highlights of the new features in GNAT Studio 23. This GNAT Studio development cycle was focused on improving LSP support, in particular regarding refactoring capabilities and stabilizing the already existing features. .. contents:: :local: Refactorings ------------ Some new refactoring tools are now available in GNAT Studio. You can find a list of all the Ada-specific refactorings provided by the **Ada Language Server**, with some GIFs showing how they work, `here `_. All these refactorings are available through what the LSP calls *Code Actions*. They are available via the light-bulb that appears on the left-side of the current editor when placing the cursor on a place where these refactorings can work (e.g: within a subprogram declaration for the *Add Parameter* refactoring). .. image:: images/pull_up_decl.gif :width: 400pt The *rename* refactoring has also been improved: it now also renames the corresponding files when renaming an Ada package, taking into account the project's naming scheme. Editing and Completion ---------------------- New convenience features have been added to handle string literals and comments in GNAT Studio. You can now use *Shift-Enter* to continue writing a multi-line comment, without having to type '-- '. .. image:: images/comment_continue.gif :width: 400pt The same combination can be used to continue the writing of a string literal on the following line: .. image:: images/string_continue.gif :width: 400pt You can also use *Shift-Space* to split a string in two, allowing you to insert a variable you want to print for instance, or you can directly use *Shift-Control-V* to insert a variable name already present in your clipboard. .. image:: images/copy_var_string.gif :width: 400pt GNAT Studio now formats the snippets inserted when completing parameters. This feature can be enabled by adding the following line to your :file:`$HOME/ada_ls_traces.cfg`` (or :file:`%USERPROFILE%\.gnatstudio\ada_ls_traces.cfg` on Windows): ALS.COMPLETION.FORMATTING=yes .. image:: images/formatted_completion.gif :width: 300pt C & C++ Support --------------- GNAT Studio no longer overrides :file:`.clangd-format` files that are already present in the project's source directories, allowing users to customize the formatting options as they want. GNAT Studio will only create the needed :file:`.clangd-format` files when not present, using the user's C/C++ formatting preferences. The mechanism to customize C/C++ formatting options is now described in the *Editor/C & C++* preferences page. GNAT Studio now uses clangd 14 as a C/C++ underlying engine: you can find the corresponding `clangd's release notes `_. Miscellaneous UI/UX improvements -------------------------------- A new **Help ‣ Create Bug Report** menu has been introduced to help you creating a bug report archive (tar.gz archive file) that includes all the information you can provide. You can then send it to support@adacore.com if you are supported user, with a description of the issue you are facing. .. image:: images/bug_report_dialog.png :width: 400pt A search entry is now displayed in the *Messages* view toolbar (and other output consoles), allowing the user to search for the next occurrence of the entered pattern. Pressing *ENTER* will go to the next occurrence, until it reaches the end of the buffer: it will then restart the search from the beginning. .. image:: images/search_messages.png :width: 400pt Drag'n'drop is now available on the signature help window, allowing it to be moved around. .. image:: images/dnd_signature.gif :width: 300pt