Reference manual

Objects page

Settings page

The Settings page holds the settings that apply to all of Prism for AL: how it works with Visual Studio Code and Business Central, how workspaces open, the package cache, the code graph, how code looks, and how the usages, flows and other windows behave. This page lists every setting, its options, its default and when a change takes effect.

Opening it

The Settings page with its groups collapsed.
#NameDescription
1Filter buttonShows only the settings for the window the page is in, or all settings. See Show only the settings for a window.
2IntegrationsVisual Studio Code, Open from BC and telemetry. See Integrations.
3WorkspaceHow workspaces open and load, and how code looks. See Workspace.
4Find usagesHow usages are searched and shown. See Find usages.
5Find flowsHow many results a flow search returns. See Find flows.
6Appearance & behaviorHow windows behave and how Prism draws them. See Appearance & behavior.

Each group holds cards. A card shows a setting's name, a description below it and its control on the right; a card with an arrow expands to a set of related settings; select it to expand or collapse it. Hover a setting for more help. A slider or a path with a Reset to default value button beside it returns to its default when you select the button.

The page has no Save button. Prism saves a change half a second after you make it; see When changes take effect.

Integrations

How Prism works with Visual Studio Code and Business Central, and whether it sends usage data.

The Integrations group.
#NameDescription
1Path to code.cmdWhere Visual Studio Code is.
2Default download pathWhere symbol files from Business Central go.
3Re-open from BC behaviorWhat re-opening a workspace from Business Central does.
4Entra ID credentials cacheClears stored Business Central Online sign-ins.
5Windows Credential ManagerOpens the Windows store of on-premises sign-ins.
6TelemetryWhether Prism sends feature usage data.
SettingOptionsDefaultEffect
Path to code.cmd (under Visual Studio Code) The path of code.cmd; … picks the file Empty: Prism runs code.cmd and finds it through PATH The Visual Studio Code that Prism starts when you go to code in Visual Studio Code. Set it when Visual Studio Code is not on PATH. Applies to the next time Prism starts Visual Studio Code.
Default download path (under Open from BC) A folder; … picks one Empty: Prism suggests the folder you last downloaded to When you open a workspace from a Business Central service, Prism suggests a subfolder of this folder for the downloaded symbol files. Applies to the next download. See Download folder.
Re-open from BC behavior (under Open from BC) Ask, Download symbols and open workspace, Open workspace Ask What happens when you open a workspace you downloaded from Business Central before. Ask shows “Would you like to re-download symbol files from the server before opening the workspace?”; Download symbols and open workspace always downloads them again first; Open workspace opens the files you have. Applies to the next time you open such a workspace. See Re-download symbol files.
Entra ID credentials cache (under Open from BC) Clear None Prism stores your Business Central Online sign-in for later use. Clear asks “This will clear all cached access tokens for BC Online stored in Prism, do you wish to proceed?” and then removes them, so the next connection signs in again.
Windows Credential Manager (under Open from BC) Open None Windows keeps the user names and passwords for Business Central on-premises. Open opens the Windows Credential Manager, where you edit or remove them.
Telemetry (Enable telemetry) On, Off Off Sends feature usage data, which tells Statical which features are used and known. You can change it with a license; with a trial license or none, the checkbox is unavailable. Applies at once.

Workspace

How workspaces open and load. The group also holds the Package cache, Code graph, Code and Workspace window cards, described in the sections below.

The Workspace group.
#NameDescription
1Start actionWhat a workspace window shows when it opens.
2Package cacheSee Package cache.
3MemcacheWhether Prism keeps a copy of the code in memory.
4Code graphSee Code graph.
5Declaration tooltipsWhether tooltips name the file of a declaration.
6Default translation languageThe language of label translations.
7CodeSee Code.
8Workspace windowSee Workspace window.
SettingOptionsDefaultEffect
Start action Show solution view, Go to most recent navigation Go to most recent navigation What a workspace window shows after the workspace has opened: the Solution page, or the place you last navigated to in that workspace. Applies to the next workspace you open.
Memcache (Keep snapshot in memory) On, Off On Keeps a copy of the workspace's code in memory, so what you see stays the same when an external editor changes or removes files. It uses more memory. Applies to the next workspace you open.
Declaration tooltips (Show compilation unit) On, Off On Adds the file (compilation unit) a declaration is in to the path its tooltip shows.
Default translation language A language tag, such as da-DK; empty for none Empty The language Prism marks as the default in a workspace's translation language list, for Inlined XLIFF translations. Use a dash, not an underscore; Prism says “Please use dash ('-') instead of underscore ('_')” or “Invalid ISO language tag” and keeps the last valid value. Applies at once, also to open workspaces.

Package cache

Where the package cache is, and how Prism uses it to find the packages a workspace depends on. Group Workspace.

The Package cache card.
#NameDescription
1Package cache pathThe folder of the cache, with its reset and browse buttons.
2Search package cacheWhether Prism also looks for missing packages in the cache.
3Default search depthHow far Prism follows dependencies: None, Direct, Propagated or All.
SettingOptionsDefaultEffect
Package cache path A local folder; … picks it, Reset to default value returns to the default A folder in Prism's local application data, shown as Default

Where Prism keeps cached packages. Choose a fast SSD or, ideally, a Microsoft Dev Drive. You can change it only while the cache is empty and no workspace is open; Prism says “Please remove all packages before changing location.” or “Please close all open workspaces before changing location.” otherwise.

Prism checks the new folder first. It refuses a network path, the temp folder, the Windows folder, a folder that is not empty, a drive with little free space, and a drive that is slow to write to.

After the change is saved, Prism says “Package cache path changed” and closes 5 seconds later. Start it again, and run the package cache optimization script again.

Search package cache On, Off Off When a workspace's package files do not hold a module, Prism also looks in the package cache. The package found there may be much older or newer than the one the workspace expects. This is the default for the same option on the Home page.
Default search depth None, Direct, Propagated, All, on a slider; select a stop's name or drag the slider. Hover a stop's name for a diagram of what it includes. See Search depth stops. Propagated, as Visual Studio Code does; its name is always in the accent color How far Prism follows a workspace's dependencies to resolve packages. All is shown in the caution color while selected: it adds modules that “AL: Download symbols” in Visual Studio Code never updates, so they may be outdated. This is the default for the search depth on the Home page.

Code graph

The memory and detail of the code graph that flows, flow graphs and immediate insights use. Prism builds it with a graph loader and serves it from a graph server, two separate processes. Group Workspace.

The Code graph card.
#NameDescription
1Server: minimum heap sizeMemory the graph server starts with.
2Server: maximum heap sizeMemory the graph server may use.
3Loader: minimum heap sizeMemory the graph loader starts with.
4Loader: maximum heap sizeMemory the graph loader may use.
5Full graphA full graph instead of a procedural one.
6Autobuild graphWhether the graph is built when a workspace loads.
SettingOptionsDefaultEffect
Server: minimum heap size 500 to 10,000 MB in steps of 100, on a slider 100 MB The memory the graph server starts with. Raising it above the maximum raises the maximum too. Applies to the next code graph Prism starts.
Server: maximum heap size 500 to 10,000 MB in steps of 100, on a slider 2,000 MB The most memory the graph server may use. Lowering it below the minimum lowers the minimum too. Raise it when a large workspace's graph runs out of memory. Applies to the next code graph Prism starts.
Loader: minimum heap size 500 to 10,000 MB in steps of 100, on a slider 100 MB The memory the graph loader starts with. Raising it above the maximum raises the maximum too. Applies to the next code graph Prism starts.
Loader: maximum heap size 1,000 to 10,000 MB in steps of 100, on a slider 4,000 MB The most memory the graph loader may use while it builds the graph. Lowering it below the minimum lowers the minimum too. Applies to the next code graph Prism starts.
Full graph On, Off Off On builds a Full graph, which adds expression- and statement-level flows and is much slower to load. Off builds a Procedural flow graph, which keeps the calls between procedures and is far smaller. This is the default for Graph detail on the Home page; see Graph detail.
Autobuild graph On, Off On Starts the graph server when a workspace loads. This is the default for the same option on the Home page; see Auto-build graph.

Code

How code looks and behaves in the Object view. Group Workspace.

The Code card.
#NameDescription
1FontThe font of code.
2Font sizeThe size of code.
3Line spacingThe height of code lines.
4Remember code line selectionsSelects your code lines again when you return to an object.
5Show line numbersLine numbers in procedures and triggers.
6Show object numbersObject IDs next to object names.
7Show used global variablesThe global variables each procedure and trigger uses.
8Show inherited interface proceduresInherited procedures in the Solution view of an interface.
9Immediate insight layoutHow immediate insight buttons look.
SettingOptionsDefaultEffect
Font JetBrains Mono, Cascadia Code JetBrains Mono The font of code. Prism ships both fonts. Applies at once.
Font size 11, 12, 13 or 14, on a slider 13 The size of code. Applies at once.
Line spacing Compact, Standard Compact The row height of code, parameter and variable lines. Compact sizes rows from the code font size; Standard gives them the height of header rows. Applies at once.
Remember code line selections On, Off On When you navigate away from an object and back to it, the code lines you had selected are selected again.
Show line numbers On, Off On Shows line numbers, counted from the start of each procedure and trigger. View › Show › Line Numbers in a workspace window switches the same setting. Applies at once.
Show object numbers On, Off Off Shows object IDs in code, in the object index and in results. Declaration tooltips always show them. View › Show › Object Numbers in a workspace window switches the same setting. Applies at once.
Show used global variables On, Off Off Lists, under each procedure and trigger, the global variables it uses directly. Applies at once.
Show inherited interface procedures On, Off On In the Solution view of an interface, lists the procedures it inherits from the interfaces it extends, grouped by the interface that declares them; see Extended view. Applies at once.
Immediate insight layout Icon, Name, Icon and Name Name Whether the buttons of Immediate insights show an icon, a name or both. Applies at once.

Workspace window

How a Workspace window opens and closes. Group Workspace.

The Workspace window card.
#NameDescription
1Open workspace window maximizedHow a workspace window opens.
2Confirm closing workspaceWhether Prism asks before it closes workspaces.
SettingOptionsDefaultEffect
Open workspace window maximized On, Off On Opens each new workspace window maximized; off, it opens centered on the screen. Applies to the next workspace you open.
Confirm closing workspace On, Off Off Asks before all open workspaces close (“Are you sure you wish to close all open workspaces?”) and before Prism exits while workspaces are open (“There are still open workspaces - do you wish to close them and exit the application?”).

Find usages

How Prism searches for usages and how the Usages window opens.

The Find usages group.
#NameDescription
1OptimizationWhether Prism narrows the objects it searches.
2Expanded filter panelWhether the filter panel starts open.
3Show filter button presence effectAn effect on the filter button when filters exist.
4Expanded result groupsWhether result groups start expanded.
5Show filter ratio barThe bar that shows how many results the filter shows.
6Window widthThe width a usages window opens with.
7Window heightThe height a usages window opens with.
SettingOptionsDefaultEffect
Optimization (Optimize find usages) On, Off On Prism first works out which objects can hold usages and searches only those, which is faster. Turn it off if a search seems to miss usages: Prism then searches all objects. The results should be the same either way; if they differ, report it through the Feedback window. Applies to the next search.
Expanded filter panel (under Usages window) On, Off Off Opens the filter panel of a usages or flows window when the window opens, if it has filters. Applies to the next window.
Show filter button presence effect (under Usages window) On, Off On Meant to show an effect on the filter button when the filter panel has options. Shown only while Expanded filter panel is off. Prism saves this setting but does not apply it yet.
Expanded result groups (under Usages window) On, Off On Meant to expand the usage groups when a usages window opens. Prism saves this setting but does not apply it yet.
Show filter ratio bar (under Usages window) On, Off On Shows a bar at the bottom of usages, flows and transfer fields windows with the share of the results the filter shows.
Window width (under Usages window) 300 pixels to the width of the screen, on a slider; double-select the slider to reset it 700 pixels Meant as the width a usages window opens with, plus about 350 pixels for the filter panel. Prism saves this setting but does not apply it yet.
Window height (under Usages window) 300 pixels to the height of the screen, on a slider; double-select the slider to reset it 700 pixels Meant as the height a usages window opens with. Prism saves this setting but does not apply it yet.

Find flows

How large a flow search may grow in the Flows window.

The Find flows group.
#NameDescription
1Result limitThe most nodes a flow search returns.
SettingOptionsDefaultEffect
Result limit (under Flows window) 50,000 to 10,000,000 nodes in steps of 50,000, on a slider 2,000,000 nodes The most nodes an inbound or outbound flow search returns. Lower it when large searches take too long or use too much memory. Applies to the next search.

Appearance & behavior

How windows behave, how Prism draws them, and its colors.

The Appearance & behavior group.
#NameDescription
1Escape closes windowWhether Esc closes a window.
2Show toolbar button labelsLabels next to toolbar icons.
3Use software renderingWhether Prism draws without the graphics card.
4Color settingsOpens the Windows color settings.
SettingOptionsDefaultEffect
Escape closes window (under Windows in general) On, Off On Pressing Esc also closes the windows you work in, such as search results and Explore Table Relations. Dialogs and quick viewers always close on Esc.
Show toolbar button labels (under Windows in general) On, Off On Shows a label next to each toolbar icon; a few buttons always show only their icon. Applies at once.
Use software rendering (under Rendering) On, Off Off Draws Prism without the graphics card. Turn it on only when Prism keeps failing with UCEERR_RENDERTHREADFAILURE or other drawing errors, which graphics drivers, remote desktop, monitors going to sleep or being unplugged, and switching between graphics cards can cause. Prism then draws noticeably slower but stays stable. Takes effect the next time Prism starts; until then the card says “Restart Prism for this change to take effect.”
Color settings (under App theme) Open… None Prism follows the Windows color mode, light or dark. Open… opens the Windows color settings. Change the mode while Prism is closed: changing it while Prism runs is not supported.

Show only the settings for a window

When you open the Settings page from a workspace window, a usages window or a flows window, it first shows only the group for that window: Workspace, Find usages or Find flows. In the main window and in other windows it shows every group.

The Settings page of a workspace window, showing its own settings.
#NameDescription
1Filter buttonOn: only the settings for this window. Off: all settings.
2WorkspaceThe one group a workspace window shows.
  1. Select Settings in the rail of the window.
  2. To see all settings, select the filter button at the top right of the page. Its tooltip reads “Focuses on contextual settings or shows all settings.”
  3. Select it again to show only the settings for the window.

In the main window and the other windows, the filter button is unavailable, since the page there always shows every group.

When changes take effect

Prism saves the settings half a second after your last change. The Settings page of every window shows and changes the same settings. Most settings then apply at once or the next time they are used, as their rows say. Three cases differ:

  • Home page options. Search package cache, Default search depth, Full graph and Autobuild graph are the defaults for the options on the Home page. A change you make on the Home page lasts until Prism restarts or until it saves a change to the settings; then the Home page options return to these settings.
  • Package cache path. Prism closes 5 seconds after the change is saved, and uses the new folder when you start it again.
  • Use software rendering. Takes effect the next time Prism starts.