CSS' syntax - grammar editor/corrector
would you mind posting the debug-info from ? menu?
@Eko-palypse , I apologize because you mentioned the “debug-info” but I didn’t know what was it. Now I found it:
Notepad++ v7.6.3 (64-bit)
Build time : Jan 27 2019 - 17:16:47
Path : C:\Program Files\Notepad++\notepad++.exe
Admin mode : ON
Local Conf mode : OFF
OS : Windows 10 (64-bit)
Plugins : DSpellCheck.dll mimeTools.dll NppConverter.dll PluginManager.dll _CustomizeToolbar.dll
Eko palypse last edited by Eko palypse
Local Conf mode : OFF
this means that your shortcts.xml is used from %appdata%\notepad++
and not from install direcotry.
Can you double check if this is the file you edited?
@Eko-palypse , ok, sorry, my fault!, I found another shortcuts.xml at my %appdata%\notepad++, edited it, and finally the “Validate CSS” entry appeared at my Run Menu. Thank you!
However, sadly it didn’t work, the following message appears:
“The System cannot find the file specified. An attempt was made to execute the below command”…
… “Command: PATH_TO_BROWSER\firefox.exe Arguments: https://jigsaw.w3.org/css-validator/validator?text=”…
… “here appears the CSS’ script I selected”…
… “Error Code: 2”.
sorry :-) but I thought it is obvious that you need to modify this
to your real path.
If you use an installed browser then it might even be possible using the program exe name alone.
OK, but please correct me if I am wrong, this “Run Menu” command will open any browser of my preference, where the jigsaw webpage also will be open, and the CSS’ script I select will be there inside this webpage and browser… right?
In other words, it is not going to be a CSS’ validator inside NP++, it is outside NP++… right?
I ask because I wanted something automatic, inside NP++, something that will validate my CSS’ scripts automatically, while I am writing those scripts inside NP++.
You are absolutely correct, this will use the browser, open the validator page and providing
the data which should be validated.
It is NOT a plugin that could be used when you are offline.
@Eko-palypse … thanks a lot… and thank you for your time and patience.
I will keep my post open, in the case some one else knows about a plugin or other solution.
If nothing better appears, I will try the css-eXplorer plugin with an older NPP++ version (or perhaps some one can teach me how to use css-eXplorer or similar plugin with my latest NP++ version).
Anyway, thank you once again!
my pleasure - hopefully someone else knows a plugin which could be used to your advantage.
PeterJones last edited by
I don’t have a plugin … but if you don’t want to have to be online, you could find and download an offline CSS-checker to install on your Windows machine (sorry, I have no recommendations); you could then use the NppExec plugin (or PythonScript, though this seems better suited to NppExec, to me) to launch the external css-checker command on the active file. NppExec (or PythonScript) have ways of putting a command in the menu, so you can bind a keyboard shortcut to it.
For example, if you installed
C:\Program Files\SomeCssChecker\somecsschecker.exe, then a possible sequence using NppExec: Plugins > NppExec > Execute:
NPP_SAVE cd "$(CURRENT_DIRECTORY)" "C:\Program Files\SomeCssChecker\somecsschecker.exe" "$(FILE_NAME)"
Then Save…, give it a name like “SomeCssChecker”, Save, and finally OK (to run it right away) or Cancel (if you just wanted to define it, without running immediately). When you do run it, the output will go in a “console” windown inside NPP.
To make a keyboard shortcut, Plugins > NppExec > Advanced Options…, enable
Place to the Macros submenu, then go down to Menu Item, set the Item Name: to
SomeCssChecker, and Associated Script to
SomeCssCheckerfrom the pulldown, then Add/Modify to place it into the list above. Click OK and Notepad++ will tell you that you have to restart Notepad++ in order to see it in the Macro menu: so restart. Now looking at Macro menu, “SomeCssChecker” will appear. Go to Macro > Modify Shortcut / Delete Macro; oddly enough, even though it’s now in the Macro menu, it doesn’t show up on the Macros tab of Shortcut Mapper. Instead, go to the Plugin Comands tab; scroll down (or, in new enough Notepad++, type
NppExecin the Filter), click on
SomeCssChecker, Modify, and select the keyboard shortcut. If you pick a shortcut that already exists (like
Ctrl+C), it will say “CONFLICT FOUND!”, and in the Shortcut Mapper, there will be a box telling what it conflicts with; either Modify again, or go modify the other conflicting shortcut.
Good luck (and sorry I couldn’t recommend a specific instance for
Hi @PeterJones ! Very nice answer. Thank you!
Unfortunately, today I can’t test your suggestion. But I will test it soon. And I will be back to you with the result.
I don’t really care if the CSS’ validator is online or offline. But I would like a solution inside NP++. Yeah, no problem to connect NP++ online, or to bind NP++ to a SomeCssChecker.exe. But in any case, I do prefer something automatic happening inside my NP++, a kind of real-time CSS’ validator (online/offline) checking my CSS’ scripts while I write them at NP++.
Honestly, if I need to open a browser or a SomeCssChecker.exe to validate my CSS’ script (wrote at NP++), and if I need to work in another screen/software… in this case I will prefer to use another solution. In my ignorance, I believe that’s the reason why I was looking for a “NP++ plugin”. If no one here has a plugin to recommend me, perhaps I will try to downgrade my NP++ to an older version, in order to try old plugins.
But in any case, I will test you solution during the next week.
Alan Kilborn last edited by
if I need to open a browser or a SomeCssChecker.exe to validate my CSS’ script (wrote at NP++), and if I need to work in another screen/software… in this case I will prefer to use another solution
If this can be made to work as Peter suggests, I think you will like it and you won’t “prefer to use another solution”.
Meta Chuh last edited by Meta Chuh
i’ve just played around with customised css validation, using all the information from you, @Eko-palypse and @PeterJones, and i think my test setup looks good enough to hand it over.
it uses notepad++ and an offline tool called “css (cse) html validator” which is very, very powerful, highly configurable, has a lot of integration apis and is completely scriptable and command line capable.
all css/html test reports will be shown directly inside a notepad++ tab.
displaying your complete validation results, with clear text explanations of every warning, suggestion or error, and most important, a summary at the top 👍
(see last screenshot of this guide)
all css and html checks will be accompanied by an audible “tadaaaa” result on success, or a “ploinkk” if errors are found (customisable).
if you wish, you can display the report results graphically and categorised, inside a separate css/cse html validator window.
here’s a short step by step guide:
(including screenshots, so that you can have a look at all the results first, to see whether you like it, or you are still missing some features)
installing css cse html validator:
go to the
CSS HTML Validator for Windowswebsite: https://www.htmlvalidator.com/download/
scroll down and download the free
CSE HTML Validator Standard for Personal Use
(direct link for cse-html-validator-170501personal-setup.exe at download-cnet-com >>> here <<<)
install cse-html-validator-170501personal-setup.exe using default settings.
- add the following 2 lines anywhere in your notepad++ shortcuts.xml, at the <UserDefinedCommands> section.
(now that’s simple, as you already know where your’s is, and these paths are already your real paths 😉 so you can use them straight away)
<Command name="Open with CSS CSE HTML Validator" Ctrl="no" Alt="no" Shift="no" Key="0">"%ProgramFiles(x86)%\HTMLValidator170\cmdlineprocessor.exe" -o "$(FULL_CURRENT_PATH)"</Command> <Command name="Validate with CSS CSE HTML Validator" Ctrl="no" Alt="no" Shift="no" Key="0">"%ProgramFiles(x86)%\HTMLValidator170\cmdlineprocessor.exe" -v "$(FULL_CURRENT_PATH)"</Command>
- your shortcuts.xml should now look like this screenshot (plus the modifications you already have):
css/cse html validator preparation:
restart notepad++ and open any .css file (or html file, etc) for testing.
go to the menu
run > Open with CSS CSE HTML Validatoras seen at the screenshot below:
- at the css/cse html validator, go to the menu
validate options > default validation modeand select
fullas seen at the screenshot below:
- now hit validate to make a test run on your css.
the categorical result page now looks like this:
- now go to the menu
validate options > validator engine optionsas seen here:
- at the validator engine options, go to
accessibility > classicand set the output viewer by browsing and selecting your notepad++.exe
(in your case it’s
C:\Program Files\Notepad++\notepad++.exe, as seen in your log)
screenshot of the validator engine options window:
save nowbefore you press
okor your settings will be lost.
close the css/cse html validator window.
we’re done now with the setup.
- open a .css or any other file you want to analyse and go to
run > Validate with CSS CSE HTML Validatorto run a test on it.
- a new notepad++ tab will open, displaying your complete validation results, with clear text explanations of every warning, understandable suggestions on what to corrector, and much more 👍:
currently you have to save your file, before you run a validation test, but this can be done automatically in the future, using the functions @PeterJones posted above, eg. by using macros (one click save and run validate) or nppexec (save and run validate, or, a bit tricky: run validate on every save).
the report results can be colour highlighted in the future by creating a custom user defined language (udl), if you like what you see until now.
sidenote to @Alan-Kilborn
I think you will like it and you won’t “prefer to use another solution”.
i think you’re right again 😂
Alan Kilborn last edited by
Wow. Above and beyond, Meta-Chuh, above and beyond…
thanks, i guess i just had a little “claudianic” attack to dig into something i never used and probably will never use myself, just to try out how it could be done, and also triggered by a high level of participation of the original poster towards regulars. (i think it’s more fun and worth it, if we get that much response, especially if it is as readable and clear as in this case 👍)
btw trigger: i’m currently listening to this triggered by your post 😉👍
@Meta-Chuh … wowwwww, impressive presentation and explanation… I don’t know how to thank you, but thank you!
I’ll try to test it ASAP during the next week, and I will be back to you with the result.
Based on the images and explanations you posted, I will say that this solution (team effort with @Eko-palypse and @PeterJones) seems to be 80% what I was looking for (where 80% is excellent). It seems to be a very usable solution, with a very powerful validator. Also, it seems to work inside NP++ as I wanted.
So, what do I need for the 100%?.. answer: the real-time validator. It is very handy to have a real-time validator, which corrects and makes suggestions in real-time. I have this at Stylus (extension), so will love to have the same at NP++. Today I was in contact with a Dev through GitHub, and he said that will try to build a real-time CSS’ editor plugin for NP++. It is not a promise, but at least it will be a good try. And if he can build that, it will be for the benefit of all NP++’ users. Anyway, until then, I certainly will test your solution.
Once again, thank you and congratulations for such nice presentation and explanation.
i guess we’re looking forward to hear if it stays at 80% or if it slowly decreases while testing 😉
regarding realtime validation:
from a coding perspective, it should be possible for your dev, without creating an own engine, if he uses css/cse validator, or any other integrable validation engine, and the plugin basically just acts as a real time communication bridge between the validation engine and the editor and cursor, with it’s highlighting and overlays.
maybe following api docs are of use to him, if he wants to try this specific engine, as it is very well documented.
fast cgi integration:
command line reference:
side note: i’m not affiliated with htmlvalidator.com in any ways, and today was the first day i’ve visited their page and used one of their products.
wow … just … WOW :-)
Demetrius Pinheiro last edited by Demetrius Pinheiro
Hi @Meta-Chuh ,
I tested your solution and my final verdict is: WOW (again)! THANK YOU! (again).
First, if any newbie is reading this, he should know that @Meta-Chuh ’ tutorial is impeccable, almost impossible to fail. So newbie don’t feel intimidated, just follow @Meta-Chuh ’ step-by-step, it will take less than 10 minutes (including downloads, installations and tests etc), and at the end @Meta-Chuh ’ tutorial will work like a charm.
Second, yeah, @Meta-Chuh ’ solution deserves my 80% (excellent).
Sadly it has not “the real-time validator”. But definitely @Meta-Chuh ’ solution deserves an “excellent” qualification.
Third, bad news, the Dev I contacted at GitHub after evaluating the possibility of building a “CSS’ validator for NP++”, he quit. In his own words, he quits not because is impossible, but because it will take lot of work, and now he has not the time for that.
My final conclusion is:
For programmers, NP++ today without plugins, is not the best CSS’ editor (and in my opinion it never will be the best CSS’ editor).
However, for users like me, that like to play around with CSS in many different platforms (Stylus extension, online and offline CSS’ editors, pastebin etc)… NP++ with @Meta-Chuh ’ solution is an additional excellent tool (very handy, for example, when you are writing a text in one tab, and in other tab you are working at a CSS’ script; this nicely can be done through NPP+ with @Meta-Chuh ’ solution).
My final words are for @Eko-palypse and @PeterJones, thank you again for their help, time and patience with my questions, and thank you for be an important part of @Meta-Chuh ’ solution.
thank you for your kind words @Demetrius-Pinheiro .
it’s very nice to hear.
all credits go to @Eko-palypse and @PeterJones and of course you, for all your input and ideas.
it’s a very good example of excellent teamwork and i’m just the janitor who wrote the manual.
you’re always welcome to visit us from time to time if you have any questions and ideas.
(disclaimer: with no promise that we can solve everything, and no promise that we always react that fast 😉 )