
False positive W521 when returning a record
function TQuerEbenheit_EA_Daten.Abscissa: TAbscissa;
begin
Result.AssignKm(Messkm);
end;
TAbscissa is an extended record with mutliple AssingXxx methods that initialize its value. So the result is actually initialized. I haven't got a good idea how to solve this. Maybe instead of an AsssignXxx method I should change this to a constructor call with an assignment?
Result := TAbscissa.CreateFromKm(Messkm);
But that would add the overhead of creating an additional record and assigning it to result. Not much of an overhead. The problem is more that we would have to rewrite lots of code.

Provide fixes

FI should clear/close its message tab when project is closed
Currently, when switching projects, the FI message tab stays populated with the results it found on the last run, which in most cases, would not be relevant to the current (new) project.
What I am suggesting is the FI clears/closes its message tab, so the developer doesn't get old, incorrect information.
If people prefer to have it there, maybe have a check-box to change this functionality ;-)

Save your selection of checked reports as a template. There are several I'd always want turned off.

[Project Manager Menu] Add FixInsight to the module node menu

Make it easier to add an ignore comment
//FI:W528 - <user comment here>
to the line in question.

[C109] Misleading text for BooleanValue = False
New in FixInsight 2015.11 in contrast to 2015.10 is C109 for "BooleanValue = False" like in the following function:
function TestC109False(AValue: Boolean): Boolean; begin Result := AValue = False; end;This comparison is not unnecessary, because when removing "= False" one will get the opposite result. However the style is bad and for now a different text for the "= False" case, that suggests using "not", would be sufficient.

False W801 warning (CONST missing for unmodified string parameter) if Delete is called
For code like this:
procedure bla(s: string);
begin
Delete(s, 1, 1);
end;
I get the warning W801 even though the string parameter is being modified.

Separate configuration and execution of FixInsight
* Configure FixInsight
* Run FixInsight on the project
* Run FixInsight on the current unit
I already complained about the last one, but it's equally inconvenient that the only way to change the configuration is to run FixInsight afterwards. Consider this:
I find that there is a 3rd party unit that generates many warnings and I decide that I won't bother checking this code in the future because I am not going to fix it anyway. So I want to add this unit to the exception list. How do I do that? If I open the dialog, I must run FixInsight afterwards in order for the configuration change to be saved. But I am in the process of going through the list of warnings, which will be changed when I run it again. At minimum I lose the current position in the list I was looking at.

unicodestring
Methods like this with Unicodestring
procedure test(s: UnicodeString);
Should have
O801 CONST missing for unmodified string parameter 's'
Customer support service by UserEcho