-
robot.language-server.pythonthis is the python executable used to launch the Language Server itself. It must point to a python (3.7+) executable. Note: after changing this setting, the editor needs to be restarted. -
robot.python.executablemust point to a python executable where Robot Framework and user libraries are installed (note that it only needs to be set if it's different fromrobot.language-server.python). -
robot.python.envcan be used to set the environment variables used by therobot.python.executable. -
robot.pythonpathentries to be added to the PYTHONPATH for Robot Framework (used when resolving resources and libraries and automatically passed to the launch config as--pythonpathentries). -
robot.variablescustom variables to be considered by Robot Framework (used when resolving variables and automatically passed to the launch config as--variableentries). -
robot.loadVariablesFromArgumentsFilemay point to an arguments file from which variables should be loaded for linting / code-completion.- Note: the arguments file still needs to be separately set during launching too.
-
robot.completions.section_headers.form: can be used to determine if the completions should be presented in the plural or singular form. -
robot.editor.4spacesTab: used to put 4 spaces instead of using tabs or indenting to a tab level in the editor (default: true). -
robot.completions.keywords.format: used to configure how keywords from libraries will be applied during code-completion. -
robot.codeFormatter: used to configure the code-formatter to be used. -
robot.flowExplorerTheme: used to configure the Robot Flow Explorer theme to be used. -
robot.codeLens.enable: used to configure whether code-lenses should be shown. Code lenses available are: - Run/Debug (to run or debug a Test/Task) - Load in interactive console (to load or run a Session/Keyword/Test/Task in the interactive console). -
robot.libraries.libdoc.needsArgs: a list of the libraries for which the arguments need to be passed for the libdoc generation. -
robot.libraries.libdoc.preGenerate: a list of the libraries for which the libdoc should be pre-generated (note: builtin libraries are always pre-generated and don't need to be added here).
-
robot.lint.enabledcan be used to disable the linting altoghether. -
robot.lint.undefinedKeywordscan be used to disable the linting of undefined keywords altoghether. -
robot.lint.robocop.enabled: used to enable/disable linting with Robocop (default: false). -
robot.lint.undefinedLibraries: used to disable the reporting of undefined libraries. -
robot.lint.undefinedResources: used to disable the reporting of undefined resources. -
robot.lint.undefinedVariableImports: used to disable the reporting of undefined variable imports. -
robot.lint.keywordCallArguments: used to disable the reporting of wrong arguments in a keyword call. -
robot.lint.variables: used to disable the reporting of undefined variables. -
robot.lint.ignoreVariablesvariables defined with this setting won't be reported as undefined variables during linting. -
robot.lint.ignoreEnvironmentVariablesenvironment variables defined with this setting won't be reported as undefined environment variables during linting.
Environment variables that affect the debugger:
-
RFLS_KILL_ZOMBIE_PROCESSES: Set totrueto kill zombie processes automatically after running Robot Framework (default is false since0.49.0). -
RFLS_BREAK_ON_FAILURE: Set totrueto stop on failures when debugging in Intellij (In VSCode this is handled by theRobot Log FAILin the breakpoints). -
RFLS_BREAK_ON_ERROR: Set totrueto stop on errors when debugging in Intellij (In VSCode this is handled by theRobot Log ERRORin the breakpoints). -
RFLS_IGNORE_FAILURES_IN_KEYWORDS: May be used to set the Keywords in which Robot Failures and Errors should not stop the debugger execution nor be reported as errors.It's a json-formatted list of keywords where failures should be ignored.
Note that the list below is always ignored by default (so using
RFLS_IGNORE_FAILURES_IN_KEYWORDSit's possible to add other items to that list).[ "Run keyword and continue on failure", "Run keyword and expect error", "Run keyword and ignore error", "Run keyword and warn on failure", "Wait until keyword succeeds", "Try..except" ] -
RFLS_IGNORE_FAILURES_IN_KEYWORDS_OVERRIDE: Set totrueto only load theRFLS_IGNORE_FAILURES_IN_KEYWORDSfromRFLS_IGNORE_FAILURES_IN_KEYWORDSand not use any pre-defined entry. -
ROBOTFRAMEWORK_DAP_LOG_FILENAME: Path to a filename where logs should be written. -
ROBOTFRAMEWORK_DAP_LOG_LEVEL: Log level for the logging (0 to 3).
-
robot.language-server.tcp-port: if specified, connect to the language server previously started at the given port. Note: after changing this setting, the editor needs to be restarted. -
robot.language-server.args: arguments to be passed to the robotframework language server (i.e.:["-vv", "--log-file=~/robotframework_ls.log"]). Note: after changing this setting, the editor needs to be restarted.
Below you can find example run configs for your launch.json file inside of the .vscode folder
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "robotframework-lsp",
"name": "Robot with arg file",
"request": "launch",
"cwd": "${workspaceFolder}",
"target": "${file}",
"terminal": "none",
"args": [
"-A${workspaceFolder}/my_arg_file"
]
},
{
"type": "robotframework-lsp",
"name": "Robot with arg file and choice of browser",
"request": "launch",
"cwd": "${workspaceFolder}",
"target": "${file}",
"terminal": "none",
"args": [
"-A${workspaceFolder}/my_arg_file",
"${input:BrowserType}"
]
},
{
"type": "robotframework-lsp",
"name": "Robot codecheck",
"request": "launch",
"cwd": "${workspaceFolder}",
"target": "${file}",
"terminal": "none",
"preLaunchTask": "Robot_code_check"
},
{
"type": "robotframework-lsp",
"name": "Robot with custom variables",
"request": "launch",
"cwd": "${workspaceFolder}",
"target": "${file}",
"terminal": "none",
"env": {
"PATH": "${env:PATH}:/home/${env:USER}/.robotFrameworkTools",
"MYVARIABLE": "myvalue"
}
}
],
// This is an input which asks the user which browser to use, robot files should use ${BROWSER} variable.
"inputs": [
{
"type": "pickString",
"id": "BrowserType",
"description": "Which browser du you want to use?",
"options": [
"-v BROWSER:headlesschrome",
"-v BROWSER:chrome"
],
"default": "-v BROWSER:headlesschrome"
}
]
}
Below is an example of a tasks.json file which will go inside the .vscode folder. This task will do a code inspection through a robot --dryrun command
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Robot_code_check",
"type": "process",
"isBackground": false,
"command": "robot",
"args": [
"--dryrun",
"--quiet",
"${file}"
],
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
}
}
]
}