Settings - overturetool/vdm-vscode GitHub Wiki

Visual Studio Code provides many configurable settings that allow you to fine-tune the behaviour of the tool and its extensions. This page describes the settings that are available for the VDM VSCode extension. Most settings have sensible default values and for normal usage they do not need to be changed.

Settings can be changed by using the cog wheel icon at the bottom right of the UI on the activity bar, and selecting Settings (or by typing CTRL+,). The settings UI can be filtered; entering "vdm-vscode" will filter out the settings for the VDM VSCode extension. Note that settings can be stored by User (i.e. they apply to all projects opened by the current user), by Workspace (i.e. they apply to all projects within a workspace, regardless of user), or by Folder (i.e. they apply specifically to one project, regardless of the workspace or user). More specific settings override more general ones (i.e. a Folder setting overrides a Workspace setting, which overrides a User setting).

Settings

Combinatorial Testing

  • vdm-vscode.combinatorialTesting.groupSize: Determine the maximum group size for test groups in the Combinatorial Testing View.

Coverage

  • vdm-vscode.coverage.OverlayLatestCoverage: If enabled then the latest generated coverage report is utilised for overlaying. Otherwise the user is prompted for which coverage report should be used for overlaying.
  • vdm-vscode.coverage.UseHeatmapColouring: If enabled then the number of hits (larger than zero) for a given code section corresponds to a brighter green. Otherwise all sections with any number of hits (larger than zero) are colored the same green.

Real-time Log Viewer

  • vdm-vscode.real-timeLogViewer.scaleWithEditorFont: If enabled the elements of the log viewer will scale relative to the current font size of the editor. Otherwise a fixed font size of 15 will be used for the relative scaling.
  • vdm-vscode.real-timeLogViewer.matchTheme: If enabled colours of the log viewer will be from the current theme of the editor. Otherwise predefined colours will be used.
  • vdm-vscode.real-timeLogViewer.fontSize: Font size to use for the relative scaling of elements in the diagram. Only used if Scale With Font is disabled.

Encoding

  • vdm-vscode.encoding.showWarning: If enabled, shows a warning if document encoding is not UTF-8.

Java Code Generation

  • vdm-vscode.javaCodeGen.concurrencyMechanisms: Generate concurrency mechanisms.
  • vdm-vscode.javaCodeGen.disableCloning: Disable cloning (may lead to code being generated that does not preserve the semantics of the input specification).
  • vdm-vscode.javaCodeGen.outputPackage: Choose output package e.g : my.code.
  • vdm-vscode.javaCodeGen.sequencesAsStrings: Generate character sequences as strings.
  • vdm-vscode.javaCodeGen.skipClassesModules: Skip classes/modules during the code generation process. Separate by ';' e.g : World;Env.
  • vdm-vscode.javaCodeGen.vdmLocationInformation: Generate VDM location information for code generated constructs.

Server

  • vdm-vscode.server.classPathAdditions: Array of folders and/or jar file paths that should be used with the language server.
  • vdm-vscode.server.highPrecision: Use high precision server that use more memory for variables ("on" or "off").
  • vdm-vscode.server.JVMArguments: Arguments for the JVM that is executing the server (e.g. -Xmx2g).
  • vdm-vscode.server.logLevel: Log server actions at different levels.
  • vdm-vscode.server.strict: Activate the VDMJ -strict flag that highlights (with warnings) where a specification is taking advantage of lenient parsing rule.
  • vdm-vscode.server.verbose: Activate the VDMJ -verbose flag that sends detailed information to the VDMJ console.

Development

  • vdm-vscode.server.development.experimentalServer: Use an experimental/external server. If enabled the client will not launch a server but instead connect to one that is running in another process. E.g. executing the VDMJ server in a debugger.
  • vdm-vscode.server.development.lspPort: Port used for the LSP/SLSP connection when experimentalServer is enabled.

Libraries

  • vdm-vscode.server.libraries.includeDefaultLibraries: Include the default libraries that are packaged with the extension.
  • vdm-vscode.server.libraries.VDM-Libraries: A list containing library jar paths. Adding a folder path will load all library jars in the folder. If using a relative path it is expected to be defined at the 'folder' settings level as the path is expected to be relative to the corresponding project.

Standard I/O

  • vdm-vscode.server.stdio.activateStdoutLogging: Activate logging of stdout/stderr to terminal window.
  • vdm-vscode.server.stdio.stdioLogPath: File path for directory that should be used to store stdout/stderr logs. If empty, terminal logging is used instead of file logging.

Trace

  • vdm-vscode.trace.server: Enables tracing of communication between VS Code and the VDMJ language server. The trace may contain file paths, source code, and other potentially sensitive information from your project.

Translate

  • vdm-vscode.translate.general.allowSingleFileTranslation: If enabled, translates only the selected file. If disabled, translate is always applied to the whole project.
  • vdm-vscode.translate.general.storeAllTranslations: If enabled stores each translation in a timestamped folder instead of overwriting the previouse content.

Translate to LaTeX

  • vdm-vscode.translate.latex.insertCoverageTables: Insert coverage tables in the Latex translation.
  • vdm-vscode.translate.latex.markCoverage: Mark coverage in the Latex translation.
  • vdm-vscode.translate.latex.modelOnly: Only model part will be included in the Latex translation, i.e., everything enclosed within \begin{vdm_al} and \end{vdm_al}.