JsonTools v5.5. is live!
-
I’m excited to announce JsonTools 5.5 with some cool new toys:
Work with multiple selections of JSON that the plugin remembers, and which dynamically react to user input. You can even select every JSON array/object/string in a file!Easy conversion between JSON strings and raw text: Just click a button to go between
"Errör 1 [foo]: [1,2,NaN]\r\nWarning 2: {\"ä\":3}\r\nInfo 3 {bar}: [[6,{\"b\":false}],-7]"
and
Errör 1 [foo]: [1,2,NaN] Warning 2: {"ä":3} Info 3 {bar}: [[6,{"b":false}],-7]
Parse stringified JSON:
Anyways, part of the reason I wanted to post about this is that while the new features are really cool, I’ve already surfaced some apparently minor bugs (mentioned here and here) and I’d love to get more eyes (and maybe other developers) to help improve this plugin!
-
I’d also like to throw out some more ideas that I’ve been mulling over, and hopefully get people’s thoughts on what features I should work on next.
- Improve
JSON from files and APIs
form, add ability to replace JSON in files with RemesPath queries - Add ability to parse
ini
orTOML
files - Improve JSON schema support, including adding ability to find multiple schema violations in a file
- Add pretty-printing option that preserves comments
- Any other ideas!
- Improve
-
Next release will have support for comment-preserving pretty-printing and compressing!
-
Release 5.8 is live, with support for INI files, including reformatting them querying/viewing/editing them with the tree view.
Thoughts?
-
@Mark-Olson
Interesting functionality, thank you!
Maybe it’s just me - but 4 toolbar buttons look too much to me. Let’s imagine we have 10 plugins with 4 toolbar buttons added by each of them - as the result, the toolbar will explode! :) So I’d propose to make the toolbar buttons configurable - e.g. by introducing the corresponding check-boxes in the settings - to allow user to decide which buttons should be visible and which not. (Surely, Notepad++ will need to be restarted to apply the selected number of buttons). -
@Vitalii-Dovgan
Good idea! Starting in the next release of JsonTools, you can customize which icons are shown and the order they appear in.Because I don’t want to have a separate setting for each icon, what I’ve done is added a setting that uses a string where each char can represent an icon, and the position of the char in the string represents its left-to-right position on the toolbar.
Currently the character-icon mappings (case-insensitive) are
('t' = tree view, 'c' = compress, 'p' = pretty-print, 'o' = path to current position)
So
a
for this setting would mean no icons (b/c no char is mapped to an icon),tcpo
means(tree, compress, pretty-print, path)
in that order, andct
means(compress, tree)
in that order. -
So I thought to myself, “JsonTools has a perfectly good tree viewer. Why shouldn’t I be able to use it for non-JSON files?”
I haven’t released v6.0 yet, but it’s a big one.
This in the documentation, but I should emphasize that JsonTools uses .NET regular expressions, not the Boost library that Notepad++ uses.
-
JsonTools v6.1.1 is out, and the next version of the plugin list should list it.
It includes fixes for several bugs, performance improvements for the error form, improvements to regular expressions, and even Python-style F-strings! -
JsonTools v7 is out. It’s not on the plugin list, because I’m hoping for some guinea pigs to check it out first.
Rather than list all the new features, see how many you can spot in the image below!
-
JsonTools v7.1.0 is live! Hopefully it will be in the version of the Plugin List that ships with Notepad++ 8.5.5. You should definitely upgrade to this version, especially if you have Notepad++ 8.6.3 or newer.
-
@Mark-Olson said in JsonTools v5.5. is live!:
JsonTools v7.1.0 is live! Hopefully it will be in the version of the Plugin List that ships with Notepad++ 8.5.5. You should definitely upgrade to this version, especially if you have Notepad++ 8.6.3 or newer.
I think you mean the Plugin List that ships with Notepad++ 8.6.5
-
JsonTools v8.0 is now live, and the most notable change is that it can now be translated to other languages.
I would be particularly interested in getting feedback from other C# plugin developers, particularly @Bas-de-Reuver, on the API I devised for translating forms using JSON with comments files and a somewhat hacky algorithm for translating WinForm controls while avoiding collisions. I am currently planning to add this code (or possibly a variant that uses XML instead of JSON with comments) to my NppCSharpPluginPack plugin template.
-