[New plugin] PlantUML Viewer
-
@fruchtzwerg94 said in [New plugin] PlantUML Viewer:
thanks for your proposal. From my understanding setting a shortcut in the plugin can be overridden with the shortcut manager. So you should be free to redefine it like you need it. Is that not the right assumption?
Plugins, like the applications they are affecting, should be implemented under the principle of least surprise: do not change the user expected experience without making it abundantly clear.
And there are some changes that should never be made without approval from the user. One such change is you should never override the default behavior of normally typed characters, like a lowercase or uppercase letter. Your plugin having the
Shift+U
defaulting to your plugin command will break the user experience.Moreover, if they don’t happen to type Uppercase U for a few days after installing your plugin, they might think that their keyboard is broken and waste time debugging it or even waste money buying a new keyboard. Or, if they don’t blame it on the keyboard, they might blame it on Notepad++ itself, rather than realizing that it’s your plugin that won’t allow them to type Uppercase U in their HTML file or their C++ source code, which they wouldn’t expect to be affected by your plugin at all.
To sum up
-
Plugins should NEVER define shortcuts that are just a letter or shift+letter
-
Plugin authors should consider not setting any default shortcut for their actions
- let the user decide to add a shortcut, rather than foisting one upon them.
- For all you know, the user already has another feature mapped to that shortcut, and they don’t want a hard-to-find conflict that changes the meaning of their favorite shortcut unexpectedly
-
All shortcuts defined by plugin authors should contain an
Alt
, aCtrl
, or both.- … But don’t ignore #2
-
-
@peterjones Your points are really good, I am definitively going to change this behaviour. To your point:
“let the user decide to add a shortcut, rather than foisting one upon them.”
How would you concretely implement this to Notepad++ ? Hust remove the default shortcut from code and let the user do it completely by its own in the Shortcut Manager of Notepad++. Or also an option in the plugin itself?Thanks for your input!
-
@fruchtzwerg94 said in [New plugin] PlantUML Viewer:
Just remove the default shortcut from code and let the user do it completely by its own in the Shortcut Manager of Notepad++.
Yes.
Or also an option in the plugin itself?
This is also fine.
@peterjones said in [New plugin] PlantUML Viewer:
Plugin authors should consider not setting any default shortcut for their actions
100% agree that plugins should never automatically assign shortcuts, unfortunately so many of them do. :-(
-
@fruchtzwerg94 said in [New plugin] PlantUML Viewer:
remove the default shortcut from code and let the user do it completely by its own in the Shortcut Manager of Notepad++. Or also an option in the plugin itself?
Any command in your plugin’s main menu will be visible by Shortcut Mapper, so you don’t need to do anything special. If you wanted, you could also add the ability to turn on a shortcut in your plugin, but since that interface already exists in Shortcut Mapper, that seems a lot of extra work for you.
-
@fruchtzwerg94 said in [New plugin] PlantUML Viewer:
Or also an option in the plugin itself?
When OP said this, I was thinking of like some sort of first-running “Add this plugin’s keyboard shortcuts to N++?” question, at which point, if the user said yes, the plugin would do it behind the scenes. It could even list out the ones that it would create. (Although, if there are conflicts, what to do…?) Thus it wouldn’t be for the plugin author to recreate a mini-shortcut-mapper in their plugin.
Perhaps the only advantage in any of this would be for users that have zero idea the Shortcut Mapper even exists.
I stand by that the best advice is to not do anything custom with shortcuts in a plugin, and put those things that benefit from having a keyboard shortcut in the plugin’s main menu (per Peter).
-
Thanks for these points. These points are great input, sorry for the confusion here. I’ve created a patch and released it already. Therefore I’ve removed the shortcut completely, which is indeed the most straight forward solution.
So version 1.1.1.5 should be fine regarding this.
Let me know if you see more things which could be improved!Cheers
-
Update:
Since I’ve got some very positive feedback and requests, I’ve created a new release of the plugin. It is now possible to export SVG files as well. Also the usability was improved by adding a context menu. Some small fixes are also included.
You can find the latest release here: PlantUmlViewer 1.2.0.6
Feel free to contact me for feedback, issues or requests.
Cheers,
Philipp -
Again, there was a lot of positive feedback and requests. I’ve improved the plugin again by some features. The latest release (1.3.0.7) is now available with some intresting changes like:
- Enabled generation of formulas
- Added support for multiple diagrams per document
- Fixed using the text of the selected document in split mode
- A lot of UI improvements (like icons, new buttons, …)
Feel free to get in touch in case of feedback (or other things)!
-
@Fruchtzwerg94
Not able to install the plugin . I get this error
Notepad++ version 8.4.4 -
@007ramukakaji Hi @007ramukakaji , looks like you are trying to install the x64 version of the plugin on a x86 version of Notepad++. This does indeed not work.
Try to install the x84 version of the plugin instead:
https://github.com/Fruchtzwerg94/PlantUmlViewer/releases/download/1.3.0.7/PlantUmlViewer_v1.3.0.7_x86.zip -
I would assume that you have a 32-bit Notepad++ (from placement in x86) and you are trying to load a 64-bit plugin.
Programs and their DLLs (a plugin is a DLL) must match in bitness.
-
@Fruchtzwerg94 Splitting a sequence diagram using newpage does not work, only the first page is visible and exportable.
I dont see any page navigation option in the context menu.
I have version 1.3.0.7 -
Good catch @sendhilv . For me it looks like an issue with PlanUML itself. Therefore I’ve created this issue. Let’s see what the developers of PlantUML say about it.
-
Hi @sendhilv ,
after some more investigation it seems like I can already come up with a first solution here. I’ve updated the current implementation to support pages as well. It’s not tested deeply but it’s worth a try. With the latest change you are able to navigate pages like shown here:
It’s not yet released officially so you need download the version to test here:
Added support for multiple pages per document Continuous Integration #63Would be great if you could do some deeper tests. Please have a look at it and give me some feedback / let me know if it works for you.
BR
-
Hi all,
with the latest changes, the plugin version 1.4.0.8 is now officially available.
Biggest change is the multi page support:
Also, PlantUML was updated to 1.2022.8, an error message for non UTF-8 documents was added, the file name of generated diagram is shown in the status bar and the plugin colors are automatically updated if Notepad++ colors are changed.Have fun with it and let me know if there are questions, problems or feedback.
Cheers,
Philipp -
Since today, the plugins next version is available. It includes some major changes and improvements like:
- PlantUML version 1.2023.0
- Fluent and dark style icons
- Updated to common zoom and scroll behaviour Ctrl + mouse wheel to zoom and (Shift +) mouse wheel to scroll vertically and horizontally
- New include option
- Diagram text can be included to exported SVG images
- Disabled buttons are grayed out
- … and many more
Feel free to get in touch if you have some feedback.
-
A new version 1.6.0.10 is now available. It includes some interesting changes like
- PlantUML version updated to 1.2023.10
- Added option to open the file after export
- Added tooltip with potential generation error message to bottom status
- Ignored non expected generation content due to Java accessibility hooks output like PowerAutomate
- Fixed Notepad++ may freezes if plugin is docked out and looses focus
- Fixed potential generation errors after a generation failed due to Plant UML executable issues
Download it at https://github.com/Fruchtzwerg94/PlantUmlViewer, it should be also available via the plugin manager soon.
-
Hi - I tried this on a SysML V2 file and got this:
-
@Andy-Lapping said in [New plugin] PlantUML Viewer:
SysML V2 file
Hi Andy,
obviously the diagram can’t be rendered by PlanUML. Since you are not showing a minimal set of data you want to render, its nearly impossible to say whats the reason for the error.
But a guess from my side: Keep in mind PlantUML is not SysML. Most propably the SysML standard you are talking about is not supported by PlantUML. -
For all of you who are interested in: A new version 1.7.0.11 is released and available.
- PlantUML version updated to 1.2024.3
- Set generation working directory to current file to allow relative includes
- SVG.NET library updated to 3.4.7, dependent ExCSS library updated to 4.2.3 to fix SVG export namespace prefix not set accordingly
You can download it at the 1.7.0.11 release or just wait to the next Notepad++ update to get it with the plugin manager.