<table><tr><td style="">antonanikin added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D14288">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D14288#299942" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D14288#299942</a>, <a href="https://phabricator.kde.org/p/kossebau/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@kossebau</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Issues seen while testing:</p>

<p>Project config page:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Initial page shows a commandline which does not reflect the state of the options (e.g. showing "-qt4-compat" while the respective "Qt4-compatible" button is off.</li>
</ul></div>
</blockquote>

<p>It's strange - on my system this works as expected.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">Selecting just the levels makes it look as if checks from the lower levels would not be run. -> with current UI if selecting a higher level then all sublevels should be autoselected (besides those already activated and keeping any disabled checks). Perhaps also needs another UI which reflects the clazy's level concept more, perhaps by still having the tree but with radio buttons for the levels and two "explicit include" "explicit exclude" buttons per checks to override the settings by level</li>
</ul></blockquote>

<p>Seems to be fixed in last version</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">It is possible to unselect all levels -> if user unselects all levels, UI settings should jump back to autoenable level 1, given this is also the default with clazy</li>
</ul></blockquote>

<p>Partially fixed - now we show message about empty selection and default levels. I think auto-filling level0+1 is not good idea - some users may wants to disable all checks and then enable just a few items.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">Links to check documentation go out to  internet, despite documentation locally existing -> local installed docs should be shown, matching used flags, perhaps in optional view to the right of the list (will come up with a patch for that using KParts) or trying to reuse the custom markdown parser as used for the checker tooltips and/or showing the docs as tooltips as well. Are the doc pages actually that different from the output of "clazy --explain foo"?</li>
</ul></blockquote>

<p>Fixed in last version. <tt style="background: #ebebeb; font-size: 13px;">clazy --explain foo</tt> shows markdown file contents so we can use files as primary source</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>Running the analyzer:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">trying to run on a program without compile_commands.json existing just gets a warning that the file is missing -> Plugin should check for the file itself and  warn if not found. That warning then should include some hint how to ensure that file exists (something similar to the text clazy has itself: "See <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html" class="remarkup-link" target="_blank" rel="noreferrer">https://clang.llvm.org/docs/JSONCompilationDatabase.html</a> for how to generate the compile_commands.json file. Basically it's generated by passing -DCMAKE_EXPORT_COMPILE_COMMANDS to CMake, or using Bear to intercept compiler commands, or, if you're using qbs: qbs generate --generator clangdb" But adapted to kdevelop and talking about cmake config page etc) Perfect, but as some future improvement, would be to have a button to add this automatically. Needs possibly bigger kdev infrastructure work to support that :)</li>
</ul></blockquote>

<p>Ok, will try to add "user-friendly" error explanation later</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">running with clazy-standalone binary not being located in the same folder as the clang binary, one runs into the issue as documented on the main clazy docs -> Plugin should check for that case and report a respective warning (again following the text from clazy's docs) Otherwise the developer testing the plugin looks at the following and thinks that stuff is just broken ;) <tt style="background: #ebebeb; font-size: 13px;">`</tt></li>
</ul>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>make -j1 -f /home/koder/projects/dupdup/build/kdevclazy.makefile</p></blockquote>

<p>Clazy check started  for /home/koder/projects/dupdup/src/main.cpp<br />
 In file included from /home/koder/projects/dupdup/src/main.cpp:1:<br />
 In file included from /home/koder/projects/dupdup/src/dupdup.h:4:<br />
 In file included from /usr/include/qt5/QtWidgets/QMainWindow:1:<br />
 In file included from /usr/include/qt5/QtWidgets/qmainwindow.h:43:<br />
 In file included from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43:<br />
 In file included from /usr/include/qt5/QtGui/qtguiglobal.h:43:<br />
 In file included from /usr/include/qt5/QtCore/qglobal.h:46:<br />
 /usr/bin/../lib64/gcc/x86_64-suse-linux/8/../../../../include/c++/8/cstddef:50:10: fatal error: 'stddef.h' file not found<br />
 #include <stddef.h></p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">^~~~~~~~~~</pre></div>

<p>1 error generated.<br />
 Error while processing /home/koder/projects/dupdup/src/main.cpp.<br />
 make: *** [/home/koder/projects/dupdup/build/kdevclazy.makefile:7: /home/koder/projects/dupdup/src/main.cpp] Error 1<br />
 Elapsed time: 1.579 s.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Failure: Exit code 2 *** <tt style="background: #ebebeb; font-size: 13px;">`</tt></li>
</ul></blockquote>

<p>Hmm... I assume that clazy is installed and correctly configured by package manager for example. But I will try to add fix for this later.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>Quick dump of feature wishes for the future by first usage experience:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">in the project config page have a search bar on the level/checks treelist to help finding a certain check by name</li>
</ul></blockquote>

<p>Fixed in last version</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">being able to see which checks provide a fixit (seems that needs support by clazy query cmdline API)</li>
<li class="remarkup-list-item">select per check whether to apply a fixit (depends on clazy support as well)</li>
<li class="remarkup-list-item">supporting configuration sets, so one could reuse a certain check/fixit config across different projects (e.g. to ensure org standards or to do some)</li>
</ul></blockquote>

<p>Will try to implement in the future :)</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14288">https://phabricator.kde.org/D14288</a></div></div><br /><div><strong>To: </strong>antonanikin, KDevelop<br /><strong>Cc: </strong>pino, kossebau, kdevelop-devel, antismap, iodelay, vbspam, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>