Показать сообщение отдельно
Старый 23.01.2018, 08:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
waldo: Enable Code Analysis for AL
Источник: https://dynamicsuser.net/nav/b/waldo...nalysis-for-al
==============

It’s the week of “undocumented features”, apparently. Today: code analysis. Apparently, the al-language extension comes with a built-in analysis for your al-code. Thing is: it’s disabled by default. Just go to settings (File/Preferences/Settings) and enabled it.



By adding the line to your settings.json of your environment (the right pane). Here is my settings.json-file:



You will get quite a number of “topics” it will analyse your code for. On the points it has issues with, it will show you a green line in your code, and you can see the exact “problem” as a tooltip when you hover over it, or in the “problems”-pane (CTRL+j / Problems). Here are just a few examples:

In this piece of code, I have 3 problems, which you can read below:



When hovering over the symbol with green line, you can see the problem. In this case, an unused variable:



What do you think of this one: you risk an overflow when you use this code:



Or one of my favorites: code that will never get executed:



Can I create my own analysis?

You can, but it’s a little bit cumbersome. You can create your own analysis-dll, drop it in the extension-folder, and go from there. I haven’t had a look at it .. because I’ll wait until this undocumented-but-already-cool-feature gets documented-and-even-cooler and supported, so we are sure that the work we put into it, is worth it. In the mean time: thumbs up, Microsoft!

Performance impact

I was told it does have a performance impact, so I guess that’s why it’s disabled by default. I haven’t noticed too much of an impact myself, to be honest.. but you are warned ;-).




Источник: https://dynamicsuser.net/nav/b/waldo...nalysis-for-al
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.