Genio v2
Last time we left with 508 commits for the very first release, now we have more than 1.200 commits and countless new features and bugfixes. This is our best release ever and a Christmas gift for those who have supported us using Genio and providing feedback, bugfixes, and PRs (special thanks to @humdinger).
Git
Genio now has a shiny new Source control panel (still a work in progress and not feature complete) where you can:
- Change project and branch
- See the list of local and remote branches and tags
- Rename and delete a local branch
- Create a branch from any other branch or tag
- Copy the name of the branch/tag
- Fetch
- Fetch prune
- Stash your changes and give it a name
- Pop or apply changes (only from the topmost stash at the moment)
- Initialize a non-git project and create an empty initial commit
- In the Project Browser, the current local branch can be changed via a convenient item in the context menu as well as in the Git menu.
- The name of the current branch will also appear on the right of the project name.
- The Git menu is still there but it will soon disappear as we bring more features to the Source control panel.
- All git operations are monitored live so Genio will update even if you create a branch from Terminal (who really wants to use it from now on? 😀).
- Now you can also open a project from a remote repository (on Github, for example) and let Genio clone and add it to the workspace.
- Bear in mind that Genio does not currently support SSH keys.
Editor
We added a bunch of new features to the editor:
- Support for syntax highlighting for languages like Python, Lua, YAB, and many more!
- Editor styling functionalities. It is now possible to change the theme of the editor by choosing from a selection of built-in themes.
- “Quick fix” for problems reported by clangd. This will not only suggest a possible solution but also apply it! You can add a missing include file in a breeze, for example! Amazing, right?
- Trim trailing whitespace, also automatically on save.
- Convert tabs to spaces.
- Alert on quit when closing multiple files.
- Hide the find/replace panel when no file is loaded.
- Switching to source/header does not rely on LSP anymore.
Project Browser
- “Open recent” / “Open recent project”.
- Autobuild on save.
- Autosave on build.
- Support for autocollapse/expand projects.
- Notify the user when trying to build/clean when the project configuration is missing.
- When closing the active project, set another one as active.
- There is an early-stage feature to detect a makefile in the root folder of a project and configure some basic settings (Release build&debug commands)
Find
- Find in files results are now shown in a table, sorted and grouped by file
- You can now exclude specific files from the search (wildcards are accepted)
UI
- New amazing icons by ZuMi.
- Reorganized and improved menus.
- New Search Results panel.
- New Problems panel
- Improved layout.
- Improved overall compatibility with the dark theme
- Full Screen and Focus modes
Localization
This release has been localized in all the following languages:
- Catalan
- German
- Italian
- Sardinian
- Spanish
- Turkish
More localizations are on the way, and will be included in one of the next point release once completed.
Huge thanks to everyone involved in this effort!
Fixes and improvements
- Fixed a problem when passing arguments to the Debugger
- Fixed a problem where the output of a program executed as ‘Run in Terminal’ could not appear in ConsoleIO
- We have completely redesigned the setting subsystem including the UI. Every change is now propagated throughout the application in real-time.
- Improved LSP thread management and updated the stack to the latest main branch.
- Improved first launch experience.
- Fixed UI scaling with bigger fonts.
- Fixed the wrong list color in the project browser.
- Fixed rename function with FFM.
- Fixed bug in file type detection.
- Fixed crash when using COPY/CUT/PASTE in the projects tree.
- Fixed trying to reopen a nonexisting project on start.
- Fixed cursor position when switching between tabs.
- Fixed replace panel not always appearing.
- Fixed replace and find previous.
- Fixed LSP lock on close.
- Fixes for ConsoleIO.
- Fixed build dependencies.
New Contributors
- @humdingerb made their first contribution in #77
Full Changelog: v1...v2