A Visual Studio Code extension that supports Robot Framework development.
- Supports
.robot
and.resource
files - Can be added for
.txt
files using thefiles.associations
setting:
"files.associations": {
"*.txt": "robot"
}
- For variables
- For user keywords
F12
on Mac, Linux and Windows
- For user keywords
⇧F12
on Mac,Shift+F12
on Linux and Windows
- Shows variables, keywords and test cases
⇧⌘O
on Mac,Ctrl+Shift+O
on Linux and Windows
- Shows variables, keywords and test cases
⌘T
on Mac,Ctrl+T
on Linux and Windows
- Highlights all occurrences of a variable, keyword or setting
- Move the cursor to a variable, keyword or setting
- Suggests user keywords and variables
⌃Space
on Mac,Ctrl+Space
on Linux and Windows
- Code completion for keywords in the standard libraries, like
BuiltIn
andString
- Requires configuration for which libraries are suggested with
rfLanguageServer.libraries
setting. E.g.
"rfLanguageServer.libraries": [
"BuiltIn-3.0.4"
]
- See a list of all available libraries here
- Keywords defined in
.py
files are also included - Requires that the
.py
files are included withrfLanguageServer.includePaths
setting. E.g.
"rfLanguageServer.includePaths": [
"**/*.robot",
"**/*.py"
]
By default all .robot
and .resource
files are parsed. This can be configured using parameters. (see Code
> Preferences
> Workspace Settings
).
param | description |
---|---|
rfLanguageServer.includePaths |
Array of glob patterns for files to be included` |
rfLanguageServer.excludePaths |
Array of glob patterns for files to be excluded |
rfLanguageServer.logLevel |
What information of the language server is logged in the Output. Possible values off , errors , info , debug |
rfLanguageServer.trace.server |
what information of the communication between VSCode and the rfLanguageServer is logged to the Output. Possible values off , messages , verbose |
rfLanguageServer.libraries |
What libraries' keywords are suggested with code completion. Can be a name of a standard library (see Supported standard libraries) or a library definition (see defining 3rd party libraries) or a combination of them. |
The includePaths
and excludePaths
properties take a list of glob-like file patterns. Even though any files can be matched this way, only files with supported extensions are included (i.e. .robot
, .resource
, .txt
, and .py
).
If the includePaths
is left unspecified, the parser defaults to including all .robot
and .resource
files in the containing directory and subdirectories except those excluded using the excludePaths
property.
BuiltIn-2.7.7
BuiltIn-2.8.7
BuiltIn-2.9.2
BuiltIn-3.0.4
Collections-2.7.7
Collections-2.8.7
Collections-2.9.2
Collections-3.0.4
DateTime-2.8.7
DateTime-2.9.2
DateTime-3.0.4
Dialogs-2.7.7
Dialogs-2.8.7
Dialogs-2.9.2
Dialogs-3.0.4
OperatingSystem-2.7.7
OperatingSystem-2.8.7
OperatingSystem-2.9.2
OperatingSystem-3.0.4
Process-2.8.7
Process-2.9.2
Process-3.0.4
Screenshot-2.7.7
Screenshot-2.8.7
Screenshot-2.9.2
Screenshot-3.0.4
Selenium2Library-1.8.0
Selenium2Library-3.0.0
SeleniumLibrary-3.2.0
String-2.7.7
String-2.8.7
String-2.9.2
String-3.0.4
Telnet-2.7.7
Telnet-2.8.7
Telnet-2.9.2
Telnet-3.0.4
XML-2.8.7
XML-2.9.2
XML-3.0.4
3rd party libraries can be defined inline in the rfLanguageServer.libraries
configuration block. For example:
"rfLanguageServer.libraries": [
{
"name": "MyLibrary",
"version": "1.0.0",
"keywords": [
{ "name": "My Keyword 1", "args": ["arg1"], "doc": "documentation" },
{ "name": "My Keyword 2", "args": [], "doc": "documentation" }
]
}
]
Can be found here
Can be found here.
Report them here.
All contributions are welcomed! Please see the contributing guide for more details.
This project is a grateful recipient of the Futurice Open Source sponsorship program. ♥
Syntax highlighting grammar is built on top of work by Jussi Malinen.