Reference manual

Objects page

Diagnostics page

The Diagnostics page of the Workspace window lists the issues Prism for AL found while loading the workspace or building the Code graph: unresolved modules, files that do not parse, code graph errors and workspace advisories. Each issue has its details, which you can copy for a bug report.

Opening it

The page appears in the rail of the workspace window only while there are issues, with a red mark for errors and an amber one for warnings. Select Diagnostics in the rail, or a count on the Diagnostics expander of the Solution page, which opens the matching tab.

The Diagnostics page of a workspace with unresolved modules, a runtime package and a compilation unit error
1 2 3 4
The Diagnostics page of a workspace built to have several kinds of issue, on the Overview tab.
# Name Description
1 Diagnostics The rail button of this page. It shows only while Prism for AL has found issues.
2 Overview The number of issues of each kind; see Overview tab.
3 Modules The modules Prism for AL could not resolve; see Modules tab.
4 Compilation units The files that do not parse; see Compilation units tab.

A tab shows only when it has something to list. The CodeGraph tab, after Compilation units, shows when the code graph has translation errors.

Overview tab

The Diagnostics card (“Workspace health issues”) gives a count per kind of issue. Select a count's link to open its tab.

RowMeaning
Unresolved modulesDependencies Prism for AL could not find. Opens the Modules tab.
Runtime packages message “The workspace has unresolved dependencies and one or more runtime packages. …” Prism for AL cannot read runtime packages, which are encrypted; add the modules as app.json projects or as packages that are not encrypted. See Packages ignored when opening folder.
Compilation unit errorsFiles that do not parse. Opens the Compilation units tab.
Graph translation syntax errors“Internal Prism for AL error while translating code to the graph.” Opens the CodeGraph tab.
Graph translation name resolution errors“Internal Prism for AL error while resolving code names for the graph.” Opens the CodeGraph tab.
Nested project advisories app.json files found inside a workspace folder, which Prism for AL leaves out of the workspace. Each one is listed with its severity (Error, Warning or Hint), its path, which you can select to reveal it in File Explorer, and what it means.
Missing package directories An al.packageCachePath setting points to a folder that does not exist, so no packages were read from it. The dependencies expected there are unresolved, or come from the package cache when Search Package Cache is on.
Modules not updated by "AL: Download symbols" Modules that the search depth All loaded as dependencies of dependencies. AL: Download symbols in Visual Studio Code does not download them, so nothing updates them, and they may be outdated. Each module is listed with the reason.

Modules tab

The Modules tab with an unresolved module selected.
#NameDescription
1 Unresolved modules The modules no module of the workspace could be resolved to, with Publisher, Name and Version constraint (≥ the lowest version asked for). Select one to see its details.
2 Core The module's identity: its id, with a button that copies it to the clipboard and one that shows the module's relations in the module graph (“View module relations for this module.”), its publisher and name, and what to do: “Module not found in workspace”, or “Download symbols from server and reload workspace” when the workspace should have it.
3 Discovery The files Prism for AL considered for the module, with Path (select it to show the file), Kind and Error.
4 Usages The modules that require this module, with Publisher, Name (select it to go to that module) and the Version constraint each imposes.

Unresolved modules explains how to fix an unresolved module.

Compilation units tab

The Compilation units tab of the Diagnostics page with a parse error selected and its details
1 2 3 4 5 6
The Compilation units tab with a parse error selected.
# Name Description
1 Path The file that does not parse.
2 Message The error message.
3 Row (error) One row per error, grouped by module. Select a row to see its details on the right.
4 Details The module, the path, the message, the error, and the source code of the file with the part before the error dimmed.
5 Copy to clipboard Copies the details of the error to the clipboard.
6 Search Type to filter the errors by their text.

Parse errors explains what to do about a parse error.

CodeGraph tab

The CodeGraph tab with a translation error selected.
#NameDescription
1 Toggle object groups Expands or collapses every group.
2 Copy to clipboard Copies the details of the selected error.
3 Error The error of the selected row.
4 Errors The objects whose code could not be put into the code graph, grouped by kind of error, by module and by object type. A module group's context menu has Go to Module, which shows the module in the Solution page.

These errors are faults in Prism for AL, not in your code. Answers from the code graph about the objects listed may be incomplete. Send the details to us, as described below.

Copy an error's details

Open the context menu of a row on the Compilation units or the CodeGraph tab:

To report an error to us:

  1. Select Copy diagnostic info to clipboard on the error, or the copy button of its details.
  2. Open the Feedback window and paste the details into your message.
  3. Send it.