tomi / vscode-rf-language-server

VSCode extension to support Robot Framework development
MIT License
53 stars 35 forks source link

Robot Framework Intellisense

A Visual Studio Code extension that supports Robot Framework development.

Features

Syntax highlighting

Goto definition

Find all references

List file symbols

List workspace symbols

Highlight All Occurrences of a Symbol in a Document

Show Code Completion Proposals

Code Completion for Standard Library Keywords

Code Completion for Any 3rd Party Library

Support for python keywords

Configuration

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.

Supported standard libraries

Defining 3rd party libraries

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" }
    ]
  }
]

Known issues

Can be found here

Changelog

Can be found here.

Bugs

Report them here.

Contributing

All contributions are welcomed! Please see the contributing guide for more details.

License

MIT

Acknowledgements

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.