Homebrew RELEASE vgedit+ a Text Editor for Switch


Well-Known Member
Jan 31, 2016
United States

Download: https://github.com/vgmoose/vgedit/releases
Source: https://github.com/vgmoose/vgedit

vgedit (Video Game Text Editor) was originally made for gbatemp's Homebrew bounty contest at the start of 2019. It tied for 7th in the contest, although it was also released with some notable bugs when handling even slightly large files, lining up the cursor on long wrapping lines, and scrolling without using the touchscreen. With the help of contributors, these issues were partially addressed over the year, but it was still a little flakey/hit-or-miss.

In June 2020, a big rehaul was done to the way vgedit processes and renders text, it now uses the library SDL-FontCache and properly fixes the cursor in the right spot no matter how big the file is, how long the lines are, or where you've scrolled. New features were also added such as Find, Copy/Paste, Undo/Redo, New File/Folder creation, line numbers, word count, and USB keyboard support.

For an example of how much better the file handling is, you can do stuff like use another homebrew app to backup the save for a game with a text-based save file, edit it in vgedit+, and then re-inject it, without ever involving a computer with the save editing. I tested this use case with Hollow Knight (save editing thread), where the save data is one giant single-lined wrapping JSON file, and everything worked as expected (Find target key value, edit, save, scroll, etc)!

Screen shots


Touch screen also works on all buttons / scrollable areas or to position the cursor in handheld mode
An external USB keyboard should work for USA-keymap typing, and arrow keys to move the cursor

File Browser
A - Open File
B - Up a directory
X - New Folder
Y - New File
Minus - Exit

While Editing (Overview mode)
A - Show keyboard / start typing (enter Insert mode)
B - Delete under cursor
X - Copy
Y - Paste
L - Find / Deselect selection
R - Increase selection
ZL - Undo
ZR - Redo
Plus - Save
Minus - Exit

With Keyboard up (Insert mode)
A - Select letter
B - Backspace
X - Caps toggle
Y - Stow keyboard (back to Overview mode)
Alt Key (via USB) - Hide on-screen keyboard (but stay in Insert mode)

On Issues
This is the first actual release thread I've made for vgedit, and I think the lack of a place for feedback to be voiced allowed me to squeak by without feeling pressure to fix some of the older cursor/large file issues for so long. This update has been out for a few months now, and I feel fairly confident that the old issues were addressed, but more in a "no news is good news" kind of way, so any feedback on the app (especially if you tried the previous version) is appreciated.

From my testing, the one still-big issue is the inability to render non-ASCII characters. From what I can tell this is a problem with the SDL-FontCache library and may be able to be fixed upstream. The good news however, is that editing files that contain unicode characters should still work as expected, that line just will be rendered with a blank space.

I've also been asked about supporting the Switch on-screen keyboard. I personally am not familiar with how to integrate that in a manner that works well, and prefer the cross-platform approach of using a generic SDL keyboard. I'm open to merging in support, but in my tests I was not able to get it to behave the same way, and also didn't see it as having any killer features over the current keyboard. Personally, I find Nintendo's layout + input mechanism to also be not-great (it's worse than the Wii's, and that was 10 years ago!) and in an ideal world would rather have staggered keys, and something like motion-based "pointer" support for typing comfortably.
General chit-chat
Help Users
    Veho @ Veho: You might.