Skip to main content

Accessing Symflower's settings in VS Code

Up in the menu bar, click Code > Settings > Extensions:

"Up in the menu bar, click Code > Settings > Extensions:"

Search for Symflower, then click the cogwheel icon ⚙️ and select Extension settings:

Click the cogwheel and select Extension settings.

Symflower's configuration options in VS Code

The following user settings are available in Symflower in Visual Studio Code:

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.

Path

You can 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.

Java framework

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

Memory limit

You can 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.

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.

Solver timeout

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

Style

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

The default is 10 seconds.

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 (only available in VS Code)

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.