Bug 226954 - Option to disable error badges
Option to disable error badges
Status: VERIFIED FIXED
Product: php
Classification: Unclassified
Component: Editor
7.4
All All
: P1 with 25 votes (vote)
: 8.0
Assigned To: Ondrej Brejla
issues@php
:
: 224525 227683 229864 237188 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-03-03 23:15 UTC by mym
Modified: 2014-02-21 10:51 UTC (History)
13 users (show)

See Also:
Issue Type: ENHANCEMENT
:


Attachments
All those "errors" are actually errors of Netbeans syntax parsing (47.94 KB, image/png)
2013-03-03 23:15 UTC, mym
Details
Errors on freshly generated project (107.71 KB, image/png)
2013-06-19 05:46 UTC, rustedwolf
Details
Disabled error badges (81.08 KB, image/png)
2014-01-27 17:52 UTC, mmolda
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mym 2013-03-03 23:15:45 UTC
Created attachment 132120 [details]
All those "errors" are actually errors of Netbeans syntax parsing

Please, add an option to disable error badges or to ignore an error. In many cases netbeans handles files in wrong way and in projects that host many library code this becomes a real problem - your project is going to be red always! See attached screenshot for an example.

I'm about to stop using NB because of this...

For god sake, make those badges optional!
Comment 1 Milutin Kristofic 2013-03-04 16:17:30 UTC
Php client can make a option to set different type of errors, or not send any.
Comment 2 mym 2013-03-04 18:25:34 UTC
(In reply to comment #1)
> Php client can make a option to set different type of errors, or not send any.

Not sure what exactly you mean. I'm talking about making error badges optional and allowing to ignore certain errors in files.

Some files have intentionally incorrect syntax - such as sceletons for new project, etc. But in some files netbeans shows errors where php doesn't.
Comment 3 Tomas Mysik 2013-03-05 08:19:45 UTC
Sorry, it sounds to me as a general enhancement, not PHP specific. Reassigning back.

Thanks.
Comment 4 Milutin Kristofic 2013-03-05 10:09:29 UTC
Editor Settings is infrastructure for loading, saving, importing, exporting editor settings like FontColor, Keybinding and code folding. 

It would be best to be specific and write what kind of errors are problematic. Till that the most appropriate category for this is parsing api.
Comment 5 Tomas Zezula 2013-03-05 10:17:20 UTC
Please read the error description:
The problem is that PHP wrongly parses files and reports spurious errors, it's rather bug than enhancement.
The user request is to be able to disable some kind of errors, see:
>optional and allowing to ignore certain errors in files.
The general infrastructure cannot interpret the error kind, the only thing what can be done in general is to disable error badges for the whole project. The question is why user wants to disable some IDE feature? The answer is because of bugs in PHP parsing. Seems rather as defect to me.
Comment 6 Tomas Mysik 2013-03-05 13:32:24 UTC
I guess the cause is that the PHP files are invalid. If not, please reopen this issue and attach them.

Thanks.
Comment 7 mym 2013-03-06 04:02:47 UTC
Some .php files in, for example, Symfony framework are intentionally invalid. For example, they can include patterns to be replaced to be used as a template, etc.

Anyway, when you have library code in your project and there is an error in it - you don't want to edit the library, it will be overwritten with new version.

The other reason is sometimes Netbeans has bugs in parsing some files. For example, 7.3 parses contents inside "<script type='text/template'>" as JS in .twig files, which is incorrect. The fix will be included in next version. Until that people will have this bug.

There is a healthy chance that next v. will have some other parsing bugs as well.

I seems that users from now on are destined to live with error badge on their projects.
Comment 8 Ondrej Brejla 2013-03-06 09:09:44 UTC
Ok so it's well known behavior. It's not a defect, because that "PHP files" are not really valid PHP files. So the badges are shown correctly. But I understand that sometimes it's not a necessary to show these badges, so we'll try to think about some solution to don't show badges in some cases (maybe some "pattern" based solution, or such). Thanks.
Comment 9 Ondrej Brejla 2013-03-20 14:35:56 UTC
*** Bug 227683 has been marked as a duplicate of this bug. ***
Comment 10 sjzurek 2013-04-06 09:23:05 UTC
It even shows on simple "mixed" php with html/js file. Like when you put everything together like in old days ;)
As in previous versions errors were parsed correctly, in 7.3 I do get loads of silly error badges on html and js parts of the php file. There must be some feature/change from 7.2 to 7.3 that creates this problem.
Comment 11 Vladimir Riha 2013-04-06 09:36:15 UTC
did you try to install latest updates/patch for 7.3? It should resolve these issues with mixed code. To install updates, go to Help|Check for updates
Comment 12 RockColors 2013-04-06 20:31:44 UTC
I have to also ask for an option to disable error badges. 

Every single project of mine has badges a lot of it for third party code I'm not going to touch, even if it is just mixed HTML and PHP content. 

These patterns on their own line seem to be the biggest culprits so far, but I've seen others.

-->

})

It actually is enough to make me not want to use this IDE anymore, it feels like chicken little or the boy who cried wolf or something. All these alerts for benign things I don't care about or can't touch anyway.

Thank you.
Comment 13 Ondrej Brejla 2013-05-16 14:16:12 UTC
*** Bug 229864 has been marked as a duplicate of this bug. ***
Comment 14 Daniel_Kukiela 2013-05-21 09:54:44 UTC
So is there any way to disable this "feature"?
After upgrade from 7.2 to 7.3, every single project is marked with "Contains files with errors" (but there are no files with errors)...
Comment 15 rustedwolf 2013-06-19 05:46:07 UTC
Created attachment 136004 [details]
Errors on freshly generated project

As I'venoticed, that latest NB doesn't support the markdown (.md) syntax and "checks" it for errors.

The second two files are the skeletons written in (probably) Twig language dunno if that's legit. This question should go to the Symfony Dev's.

But "ignore certain files" feature would be great feature to have.

I've beend waiting half of an year for support of the annotations. Now we don't know how long we're going to wait for fix of this.
Comment 16 oyviste 2013-07-16 10:40:52 UTC
Hi folks,

It would be great if one could optionally disable error reporting/badging for certain patterns of resources. Path patterns could work in my case, as errors are detected in imported third-party code at certain locations. (Code that I really don't care about, but still causes the whole project to be marked with error.)

Also, project files that are in reality incomplete templates on their own, can  be interpreted as containing errors by Netbeans (I guess it depends on the file naming). I understand that Netbeans cannot know that "template.html" really is not supposed to be valid HTML at all, and thus marks it as having errors in it. But for this very reason, the checking must also be adjustable/configurable, since I know more about my projects than Netbeans can automatically guess. Another point that has been brought up is parsing correctness when validating – or false positives. Another reason why it needs to be configurable.

The top-level red badges are extremely annoying when I know they are unrelated to the code I'm actually working on inside a project and I cannot do anything about it.
Comment 17 oyviste 2013-07-16 11:07:10 UTC
The "Action items" view has built-in configurable filtering. How about allowing the same kind of filtering for error badges in "Projects" and "Files" view ?

(As a side note, I tried disabling all checks for "HTML Validator" and "CSS" under "Editor -> Hints -> Language: HTML", but errors are still shown for such files, even after erasing NetBeans cache folder to force rescan/reindexing.)
Comment 18 daprezjer 2013-08-03 21:20:46 UTC
Wanted to add my voice to this concern.  We deal w/ older code that isn't "incorrect", but intermixes PHP with JavaScript.  It parses and runs fine.  And with Netbeans IDE 7.2, while it would show a warning on the page (annoying, but not very), it wouldn't mark the pages themselves as having parse errors (i.e., there wouldn't be a little red exclamation point on the file manager).  That way, we knew when there were "real" errors (PHP parsing errors), as that was the only time the exclamation marks showed up.

Now, with 7.3, the exclamation point shows up all the time.

A revert, a way of saying which types of errors should produce notifications (javascript/php), or better recognition of what's truly an error would be great.
Comment 19 Tomas Mysik 2013-08-26 11:50:15 UTC
*** Bug 224525 has been marked as a duplicate of this bug. ***
Comment 20 Ondrej Brejla 2013-10-16 10:27:31 UTC
*** Bug 237188 has been marked as a duplicate of this bug. ***
Comment 21 len13 2013-10-16 10:34:17 UTC
For now I'm stuck on verion 7.2.1 and I can't upgrade my Netbeans.
Is 7.2.1 last working verion of Netbeans? Please tell me what shoult I do?
Should I wait for "disable unrecognized error option" become available, are You
planning to add it to editor? Should I start looking new editor?
Comment 22 Trejder 2013-11-22 12:58:39 UTC
I've read this bug, as good as some related, many comments and I must be missing something, so I would really appreciate, if someone from the dev team could enlighten me.

I've "jumped" from Netbeans 7.2.1 and I see many error badges / icons in my project's file and folder tree. I don't want them. I want an option to turn them off. Is this really that hard to understand? What else do I need to explain?

There are many (far to many), pointless in my opinion, discussions and comments, thrown between dev team representatives and regular users. Everyone is talking about false positives (or not), about this or that interpreter or error parser doing this or that wrong, about other users that might get lost without that error badges, about this, or that, about blah, blah, blah...

What for? For what reason?

This is as simple and as obvious (or at least should be) as:

1. There are error badges displayed, when there is some error in related file.
2. There are users, that want them.
3. There are users, that don't want them.

Conclusion: We NEED and option to disable error badges / icons in project tree.

End of discussion. Amen. Period.
Comment 23 ryan_jake 2013-11-22 19:11:16 UTC
I do feel that Comment #22 is a blunt, yet accurate, summary of what's going on here. I've navigated around a number of discussions on this general topic (on this site, and others), and it seems like people are talking past each other on this issue.

Calling this a "feature request" as opposed to a "bug" may be the way to go. However, given that the feature that people are frustrated with (the addition of those "error badges" to the files/parents in the project tree view) seemed to appear somewhere in 7.3, and was not a concern <7.3, it's hard to say.

Anyway, IMHO, the addition of a new configuration option, to *compliment* this new "error badge in menu tree" feature (which some people find extremely useful depending on their case) may really reduce a lot of ongoing overhead in the issue queues (e.g. the need to reply-to/track/mark duplicate reports, etc.). Perhaps such an option belongs in "Options > Editor > General" or "Options > Editor > Hints" and could be something like:

Error Badge Display in Project/File Trees:
- Disable
- Enable on files
- Enable on files and parents recursively

Sure, it would be nice if something like this could be configured on a project-by-project basis, but just exposing it globally would probably make a lot of users very happy.
Comment 24 len13 2013-11-23 22:36:47 UTC
Finally Mr Ondrej Brejla your the best reseller of PhpStorm I have met! For many years I like to use to NetBeans but You and rest of NetBeans team convince me to pay 80 euro and buy PhpStorm. When using php storm I am threated as human and they respect user's needs.

Good bye cocky Netbeans team :(
Comment 25 anson_kao 2013-11-24 17:23:41 UTC
TL;DR - Just want to underscore how important this feature request is, and offer to donate $10 to whoever builds the feature.

---------------------------

Many users have projects that contain external (or even internal) code that we have no intention of maintaining.  Since the warnings in the files/projects tab are actually UI indications of work to do, it is like the IDE is constantly screaming at us to do something and it is frustrating to be constantly distracted by it and not be able to silence it.

I would contribute this feature myself if I could but I'm not a Java developer, so I'll pay someone to do it.  I think others would too.  This is a great product when it works and it's a blessing to use it for free.  Completely serious - PM me if you're up for it.

- Anson
Comment 26 Ondrej Brejla 2013-11-24 18:41:00 UTC
I'll try to implement a solution where just user defined file extensions will be "parsed" as a PHP source. So these cases of parsing Markdown files, etc. where invalid PHP snippets occur and show errors will be ok. 

Non-php files will be parsed and validated only if one registers their extension as a "text/x-php5" mime type explicitly in options. I think that it should help you a lot ;)

But stay calm, I'll have to test it, it's just an idea in my tired brain :)
Comment 27 Daniel_Kukiela 2013-11-25 10:00:21 UTC
In my case that will not be enough.
I have "php" files witch mixed php and html (not all html tags ar closed, or are closed outside php code block).
I really need just to disable this "feature". I'm still on 7.2, and i'm thinking about changing to other IDE because of this.


Regards,
Daniel
Comment 28 Vladimir Riha 2013-11-25 10:07:37 UTC
If you open the affected "php", there should be hint at the first line to disable HTML validation for given mimetype (in case of php, text/x-php5)
Comment 29 Ondrej Brejla 2013-11-25 10:12:43 UTC
Yep, as Vlada wrote.

But in general "option to disable error badges" issue is not just a PHP problem. It's an enhancement for an infrastructure. But it arised because some non-php files were parsed even though they shouldn't (parsing run in a file which wasn't registered as a php file). And that's the problem what I'll try to solve. After that I'll reasign this enhancement to the infrastructure.
Comment 30 radzikowski 2013-11-25 10:35:06 UTC
For me problem is when I'm using third-party code, like Symfony Framework and many different bundles for it. All of this is in my project in 2 directories, and both of them are marked as invalid, so my whole project is marked as invalid too. It would be much easier if I could disable parsing of this directories, so I could see if my whole project is ok or not. Changing mime-type of my files or several thousand Symfony/other-not-my-files is not a solution.
Comment 31 Daniel_Kukiela 2013-11-25 10:37:42 UTC
And for me too. It's not only about html in php.
I really want to disable this feature.


Regards,
Daniel
Comment 32 Ondrej Brejla 2013-11-25 10:52:06 UTC
Just for clarification, 2 things:

1) disable parsing for a directory

You can do it right now. In project properties, you can mark a foleder as "Ignored". Then it will not be parsed. No errors.

2) disable error badges propagation

a) in files which are NOT php files but can contain some PHP snippet (e.g. markdown, etc.)

This will be, hopefully, solved by my fix.

b) in files which "are" PHP files, but are not valid, because they actually are NOT php files

Mostly they are some "template" files which should have an extra mime type but they rape PHP mime type in a wrong way.

This will not be solved by us, because that's a wrong design of your frameworks/libs and such.
Comment 33 Ondrej Brejla 2013-11-25 10:55:28 UTC
But maybe someone from infrastructre will implement "disable error badges propagation for folders". But as I said, it's not a PHP issue. Same requirement can be applied for *every* project type.
Comment 34 Daniel_Kukiela 2013-11-25 10:58:01 UTC
I only want to completly disable error badges.
Not per mime type, or something else.
In our case it's completly useless.


Regards,
Daniel
Comment 35 Ondrej Brejla 2013-11-25 11:01:43 UTC
Yes that's the case I described in comment #33. It's a requirement to IDE infrastraucture, not for PHP modules.
Comment 36 oyviste 2013-11-25 15:16:42 UTC
(In reply to Ondrej Brejla from comment #32)

> You can do it right now. In project properties, you can mark a foleder as
> "Ignored". Then it will not be parsed. No errors.

I guess this does not apply to Maven+Java-projects ? I se no way of doing this in project properties.


(In reply to Ondrej Brejla from comment #35)
> Yes that's the case I described in comment #33. It's a requirement to IDE
> infrastraucture, not for PHP modules.

I filed this enhancement request:
https://netbeans.org/bugzilla/show_bug.cgi?id=238782

(since this bug is specifically about PHP).
Comment 37 Ondrej Brejla 2013-11-25 15:21:50 UTC
(In reply to oyviste from comment #36)
> (In reply to Ondrej Brejla from comment #32)
> 
> > You can do it right now. In project properties, you can mark a foleder as
> > "Ignored". Then it will not be parsed. No errors.
> 
> I guess this does not apply to Maven+Java-projects ? I se no way of doing
> this in project properties.
> 

Yes, it's just PHP Project Type specific feature (imho).

> 
> (In reply to Ondrej Brejla from comment #35)
> > Yes that's the case I described in comment #33. It's a requirement to IDE
> > infrastraucture, not for PHP modules.
> 
> I filed this enhancement request:
> https://netbeans.org/bugzilla/show_bug.cgi?id=238782
> 
> (since this bug is specifically about PHP).

Great. I have a solution which will "hide" propagation of all error badges from PHP parsing...so it can help someone a lot, but it's a general problem.
Comment 38 Ondrej Brejla 2013-11-26 12:17:14 UTC
Ok, so I fixed that improper parsing of non-PHP files in issue #238807. And according to requirements, one can use a new NB property to disable error badges from PHP files. From *all* files, no configuration allowed (it's just workaround until issue #238782 will be implemented). If you want to use it, just run NB with this:

./netbeans -J-Dnb.php.silent.error.badge=true

Then PHP files will be parsed, you will see parser errors when a file is opened in Editor window, but NO error badges will occur in Project View.

Both fixes are implemented in dev build and will be in NB 8.0.

And because @oyviste filed a new enhancement issue #238782 for infrastructure to allow "disabling error badges for directories etc. for every project type", then closing this issue as fixed. Thanks.
Comment 39 daorus 2014-01-24 16:00:24 UTC
NO WAY!

I donwloaded 8.0 beta and this option does not work

./netbeans -J-Dnb.php.silent.error.badge=true

these f***ing error bages are still there!!
Comment 40 RobertJohnson 2014-01-24 17:39:24 UTC
I'm using Netbeans 8.0 dev build 201401230001, and the error badges are *not* appearing.  It's remembering my settings from 7.4.
Comment 41 daorus 2014-01-24 17:56:24 UTC
(In reply to RobertJohnson from comment #40)
> I'm using Netbeans 8.0 dev build 201401230001, and the error badges are
> *not* appearing.  It's remembering my settings from 7.4.

I was tesing netbeans-8.0beta-php-windows.exe from official download avaiable right now and it still shows error icons on html files even when I chosen Disable Error Checking in HTML files and these icons go up on folder and mark the whole project as errored!

Here are my former bug reports on this issue

https://netbeans.org/bugzilla/show_bug.cgi?id=237669
https://netbeans.org/bugzilla/show_bug.cgi?id=225908
Comment 42 Ondrej Brejla 2014-01-25 08:50:23 UTC
daorus...don't reopen unrelated issue, especially if you opened new ones in proper component.
Comment 43 daorus 2014-01-25 09:26:10 UTC
(In reply to Ondrej Brejla from comment #42)
> daorus...don't reopen unrelated issue, especially if you opened new ones in
> proper component.


please, clarify what you mean:

this bug issue is marked as done, saying that if we start netbeans with option

-J-Dnb.php.silent.error.badge=true

we will see no error bages in project tree, right?

If you download beta 8.0 right now and start netbeans with this flag, error bages are still there. That's why I reopen this bug issue.
Comment 44 Ondrej Brejla 2014-01-25 09:30:35 UTC
No, this option disables erorr badges from PHP parser, as I wrote before. It doesn't affect any other languages, errors and such. It's written in comment #38. If you are unsatisfied with propagating of errors from other languages, file issue to a proper component.
Comment 45 Ondrej Brejla 2014-01-25 09:39:03 UTC
I think to mention, when you use that option, that file, which causes errors has to be reindexed. So open it and modify, or let the whole project to be reindexed (e.g. clean NB userdir).
Comment 46 daorus 2014-01-25 11:31:58 UTC
(In reply to Ondrej Brejla from comment #44)
> No, this option disables erorr badges from PHP parser, as I wrote before. It
> doesn't affect any other languages, errors and such. It's written in comment
> #38. If you are unsatisfied with propagating of errors from other languages,
> file issue to a proper component.

Sorry, my fault. I thought that your option allows globally to turn off these f***ing error bages! (((

I created issue long time ago, but they all were closed as duplicated of some other bug issues which are completly not related to these erorr bages and therefore my issue just died...

Now these error bages appear on html files even when checking html is disabled

To produce these problem just create fresh new PHP project, add emtpy file a.html
and add the following line

<was id="()"> 

I will generate error and these f***ing error bages up in the whole hierachy and mark the whole project as errored.

Because of these error I still work on NB 7.3 Beta 2 because there is no such an disaster with there error bages...
Comment 47 daorus 2014-01-25 11:33:44 UTC
(In reply to Ondrej Brejla from comment #45)
> I think to mention, when you use that option, that file, which causes errors
> has to be reindexed. So open it and modify, or let the whole project to be
> reindexed (e.g. clean NB userdir).

there is no need to clean userdir cause i tested fresh new NB 8.0 Beta

I tried these options 

-J-Dnb.php.silent.error.badge=true
-J-Dnb.html.silent.error.badge=true

None has helped and these error bages are still there!!...
Comment 48 daorus 2014-01-25 11:34:04 UTC
(In reply to Ondrej Brejla from comment #45)
> I think to mention, when you use that option, that file, which causes errors
> has to be reindexed. So open it and modify, or let the whole project to be
> reindexed (e.g. clean NB userdir).

there is no need to clean userdir cause i tested fresh new NB 8.0 Beta

I tried these options 

-J-Dnb.php.silent.error.badge=true
-J-Dnb.html.silent.error.badge=true

None has helped and these error bages are still there!!...
Comment 49 mmolda 2014-01-27 17:52:36 UTC
Created attachment 144423 [details]
Disabled error badges

I just tested it in official 8.0 beta download and it is working with no problem. Error badges are disabled in Projects window (see screenshot).

netbeans64.exe -J-Dnb.php.silent.error.badge=true

Marking as verified.

Product Version: NetBeans IDE 8.0 Beta (Build 201401141042)
Java: 1.7.0_51; Java HotSpot(TM) 64-Bit Server VM 24.51-b03
Runtime: Java(TM) SE Runtime Environment 1.7.0_51-b13
System: Windows 7 version 6.1 running on amd64; Cp1250; en_US (nb)
Comment 50 broeser 2014-02-21 10:50:20 UTC
(In reply to Ondrej Brejla from comment #32)
> Just for clarification, 2 things:
> 
> 1) disable parsing for a directory
> 
> You can do it right now. In project properties, you can mark a foleder as
> "Ignored". Then it will not be parsed. No errors.

As far as I understand the "Ignored Folders"-functionality this will do way more than ignore parsing errors of these folders, though. Please consider the following use case (which I personally have to work with a lot):

- I have a project with several third party libraries.
- I want to have a look into the third party files to properly understand how they work
- I want to check in the whole project, including the third party libraries, into version control, because - even though it happens rarely - sometimes I have to fix a small bug within these libraries (and I can't/won't wait until the bug is fixed upstream and put into a proper release of the library)

Is there any way I could mark a specific third party library (or often only a single folder or file in it) so that error badges are not displayed for that file/folder but the file/folder is still within my project tree, still under version control etc.?

Thank you for your consideration.


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo