A Visual Studio Code extension that supports Robot Framework development.
- Supports
.robotand.resourcefiles - Can be added for
.txtfiles using thefiles.associationssetting:
"files.associations": {
"*.txt": "robot"
}- For variables
- For user keywords
F12on Mac, Linux and Windows
- For user keywords
⇧F12on Mac,Shift+F12on Linux and Windows
- Shows variables, keywords and test cases
⇧⌘Oon Mac,Ctrl+Shift+Oon Linux and Windows
- Shows variables, keywords and test cases
⌘Ton Mac,Ctrl+Ton 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
⌃Spaceon Mac,Ctrl+Spaceon Linux and Windows
- Code completion for keywords in the standard libraries, like
BuiltInandString - Requires configuration for which libraries are suggested with
rfLanguageServer.librariessetting. E.g.
"rfLanguageServer.libraries": [
"BuiltIn-3.0.4"
]- See a list of all available libraries here
- Keywords defined in
.pyfiles are also included - Requires that the
.pyfiles are included withrfLanguageServer.includePathssetting. 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.7BuiltIn-2.8.7BuiltIn-2.9.2BuiltIn-3.0.4Collections-2.7.7Collections-2.8.7Collections-2.9.2Collections-3.0.4DateTime-2.8.7DateTime-2.9.2DateTime-3.0.4Dialogs-2.7.7Dialogs-2.8.7Dialogs-2.9.2Dialogs-3.0.4OperatingSystem-2.7.7OperatingSystem-2.8.7OperatingSystem-2.9.2OperatingSystem-3.0.4Process-2.8.7Process-2.9.2Process-3.0.4Screenshot-2.7.7Screenshot-2.8.7Screenshot-2.9.2Screenshot-3.0.4Selenium2Library-1.8.0Selenium2Library-3.0.0SeleniumLibrary-3.2.0String-2.7.7String-2.8.7String-2.9.2String-3.0.4Telnet-2.7.7Telnet-2.8.7Telnet-2.9.2Telnet-3.0.4XML-2.8.7XML-2.9.2XML-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.