NAV2018 has gained two new properties on fields.
ObsoleteState and ObsoleteReason
State can be Normal, Pending or Removed and Reason specifies, well, the reason for pending or removed 🙂
As you can see on the screenshot, this is something that Microsoft already is using, properly due to the fact, that they themselfes now hosts a lot of NAV instances (aka. Dynamics 365 “Financials”). And to avoid “expensive” data opgrades with downtime, the fields will just be marked obsolete and left in the database. After they are marked Removed, only usage from upgrade codeunits are allowed. References from other objects will result in a runtime error.
So be sure to check the obsolete status before using a field.
Currently, Visual Studio Code does not show that information, but hopefully, somebody from Microsoft reads my blog 🙂