Skip to main content

Configuring Symflower for Visual Studio Code

This page describes how to configure Symflower in VS Code.

Access settings​

Open VS Code and click Extensions in the activity bar. Search for "symflower":

Open Extensions in the activity bar."

Click the gear icon to access Settings for the Symflower extension:

Go to Symflower's extension settings in VS Code.

Configuration options​

The following user settings are available for Symflower in VS Code:

License key​

The license key to access Symflower's paid features.

LLM: Test Generation​

Enable LLM-based test generation (experimental). You'll have to set the LLM provider's inference endpoint URL, the API token, and the model to be used for code generation.

Provider URL​

The URL of the OpenAI API compatible inference endpoint. If not set, OpenRouter is used.

API token​

The API token for the model provider's API.

Model​

The model to be used for LLM queries.

Path​

Specify the path to the Symflower binary here. Specify an absolute file system path, define a command to be looked up by the PATH environment variable, or leave it empty to look up the default binary.

Fetch dependencies​

Specify whether Symflower should download and analyze external libraries when analyzing source code. Symflower downloads and parses external libraries only the first time they are encountered, which can take some time depending on your project. For subsequent invocations, the libraries are read from cache, making the analysis quicker.

Code lens: Create test​

Enable or disable the "create test" code lens which allows you to create test templates with a single click on the code lens that automatically appears above functions.

Log level​

Set the log level to debug or verbose.

Code lens: Duplicate test​

Enable or disable the "duplicate test" code lens which allows you to duplicate a test template with a single click on the code lens that automatically appears above tests.

Code lens: Generate test LLM​

Enable or disable the "generate test (LLM)" code lens which allows you to generate a test suite via LLM for a selected function or file with a single click on the code lens that automatically appears above functions.

Lint: On open​

Enable or disable linting upon opening a file.

Lint: On save​

Enable or disable linting upon saving a file.

Log level​

Set the log level to debug or verbose.

Java framework​

Set the default test framework for generating Java unit tests to be JUnit 4, JUnit 5, or automatic (default).

Memory limit​

Specify a maximum memory usage for Symflower. In case the memory usage exceeds the user-defined limit (specified in MB), Symflower stops the analysis. Zero means no limit.

The default is 1024.

Test generation: On save​

To streamline your workflow, Symflower can automatically generate tests upon save. Once enabled, test suite generation will be triggered in the background every time the file is saved, but the test file will not be opened automatically.

Test generation: Solver timeout​

Set a timeout (defined in seconds) to specify a maximum for how long each solver call can run during test input generation.

The default is 10 seconds.

Test generation: Style​

For Go code, Symflower can generate tests in two styles: basic or table-driven (default).

Timeout​

Set a timeout (defined in seconds) to specify a maximum for how long test input generation for a single function can run in general.

The default is 60 seconds.

Server​

This setting enables you to echo communication between VS Code and the Symflower language server onto the "Symflower" output channel. Setting options include "off", "messages", or "verbose". This option is mainly used for debugging Symflower itself.