All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.
0.96.0 - 2024-11-04
- vscode: Corrected tmlanguage to color variables in variables section (0e32e41)
- Corrected hash calculation for keyword matchers for keywords with embedded arguments for RF < 7 (c58f622)
- analyze: Add command line support for static analysis of Robot Framework projects (01a4c6d)
- vscode: Connect vscode testrun to the debug session to link the lifecycle to of the session to the ui actions of the test run (0d3bd27)
0.95.2 - 2024-10-28
- analyzer: Simplify generating of internal libdocs for resource files (c232cea)
- all: Some cache adjustments and removal of unnecessary code (9b0999c)
0.95.1 - 2024-10-26
- robot: Corrected some type hint for python 3.8 (47510ac)
- vscode: Restart the language server if a change is detected in a
.gitignore
or.robotignore
file (7613bb2)
- Update documentation for command line tools (9e0d0dc)
- analyzer: Speed up the creation of libdocs from resource files (2dfc91b)
- analyzer: Speed up finding keywords and variables a little bit more (aaa6439)
- language_server: Corrected handling of matching multiple keywords if keywords have embedded keywords (c662685)
0.95.0 - 2024-10-25
- analyzer: Fix some spellings (b622c42)
- analyzer: Handle bdd prefixes correctly if keyword is cached (41ff53f)
- analyzer: Corrected analyzing of
[Return]
,[Setup]
,[Teardown]
statement (4e17c8f) - analyzer: Corrected exception in parsing ForHeaders with invalid variable (0851d4f)
- analyzer: Fixed find variables as modules for RF > 5 (ce787b2)
- langserver: Corrected inlay hints for bdd style keyword calls (77ce8f1)
- langserver: Only update direct references to a file, not imports if something changes (ea24b06)
-
analyzer: Implemented better handling of imports of dynamic libraries (f6b5b87)
- show also errors on in dynamic library API like in
get_keyword_documentation
andget_keyword_arguments
- show also errors on in dynamic library API like in
-
discover: Rework discover commands (87e1dd9)
- show statistics on all commands
- better differention of tests and tasks
- new command
tasks
to show only the tasks - command tests show only the tests
- new arguments for
tags
command--tests
and--tags
- show the type of test or task in test explorer description
- analyzer: Restructured code for handling bdd prefixes (96fbe90)
- analyzer: Optimized analysing keyword calls (b1f0f28)
- analyzer: Cache embedded arguments and some more little perf tweaks (3603ff6)
- analyzer: Introduced some caching for parsing variables (e39afe9)
- analyzer: Implemented DataCache, cache files are now saved in pickle format by default instead of json (f3ecc22)
0.94.0 - 2024-10-20
- analyzer: Better exception message for invalid command variable files (f8cb770)
- analyzer: Decrease load load library timeout and better error messages if time out occurs (a3fb4a3)
- docs: Corrected some things about the inheritance of profiles (aa50cc7)
- repl: Corrected start of repl command if there is no
robot.toml
with apath
setting (42f96b4) - Correct analyzing of variables in WhileHeader options (3a4ee79)
- Python 3.13 support (3874a9c)
- analyze: Improved performance of code analysis (more then 2x faster) (2951759)
- analyze: Optimize find unused refences (1.5x-2x faster) (fda1f02)
- analyzer: Move model and token analyzing to the normal analysing stage (7b3eb0c)
- analyze: Remove unused/unneeded call to find variable in namespace (b561607)
- Update tests for RF 7.1.1 (702c5c9)
0.93.1 - 2024-10-09
- langserver: Stabilized resolving of variables in test case and keyword documentation (1bad58f)
0.93.0 - 2024-10-08
- Logging of measure_time if log is disabled (725c739)
- Enable supportsANSIStyling in DAP to reeanble colored output in debug console (0d5616c)
- Corrected highlightning invalid sections for RF7 (d139ff1)
-
cli: New command line interface tool - Robot Framework REPL interpreter (be386d2)
The new CLI command
repl
introduces an interactive Robot Framework interpreter. You can install it by runningpip install robotcode[repl]
and start it via the command line usingrobotcode repl
.With this interactive interpreter, you can execute Robot Framework keywords without the need to run a full test suite. By default, all BuiltIn keywords are immediately accessible. To load a library, you can use the
import library
keyword, and for resources or variable files, you can use the corresponding built-in commandsimport resource
andimport variables
. The outcome of any keyword execution, along with relevant log details, is displayed directly in the console.You can exit the interpreter using the
exit
keyword or by pressingCTRL
+D
on Unix-like systems andCTRL+Z
followed byENTER
on Windows.At this stage, the implementation is fairly basic, but additional features for the REPL command are planned. This also serves as the first step toward an exciting new feature (spoiler alert!): Robot Framework Notebooks.
-
debugger: Increase timeouts for debugger to fit better to python debugger timeouts and introduce environment variables to override these timeouts (63f3e4a)
-
langserver: Resolve variable in hover for documentation settings in testcases and keywords (ffa9bdb)
-
vscode: Introduce RobotCode: Start Terminal REPL command for launching the interactive Robot Framework interpreter directly from VSCode (f4025fb)
-
Improved logging with time information (27d21b5)
- Operations that take a little longer now have an indication of how long they took
- 2 new command line switches
--log-format
and--log-style
, see also the Python logging documentation
-
--root
command line argument to specify a project root and disable autodetection of project root (add4102) -
Add
--no-vcs
command-line option to ignore VCS directories (e.g., .git) when detecting the project root (d7e28f2)#closes 201
- langserver: Speedup semantic highlightning a lot (567ac72)
- Some performance tweaks (d3b39be)
0.92.0 - 2024-10-01
-
analyze: Allow shortforms of
warning
andinformation
,warn
andinfo
in diagnostic modifiers (f226091) -
config: Added posibility to allow different tool configs to robot.toml.json schema (ee256ce)
-
robot.toml: Introduce new settings for analysis in robot.toml (fa37dba)
-
vscode: Introduce setting for modifing the diagnostics severity (5cca59f)
With these settings, you can override the default configuration for all diagnostic messages. By combining file, block, and line diagnostic modifiers, you can precisely control how specific errors are displayed.
robotcode.analysis.diagnosticModifiers.ignore
: Suppresses specific diagnostics from being displayed. You can specify one or more error codes, likeMultipleKeywords
or[multiple-keywords, VariableNotFound]
. Use*
to ignore all errors and then maybe add specific error codes to other modifiers, such asinformation
, to selectively show them.robotcode.analysis.diagnosticModifiers.error
: Treats selected diagnostics as errors.robotcode.analysis.diagnosticModifiers.warning
: Displays chosen diagnostics as warnings.robotcode.analysis.diagnosticModifiers.information
: Shows specified diagnostics as informationrobotcode.analysis.diagnosticModifiers.hint
: Marks selected diagnostics as hints
These settings allow you to tailor the diagnostic outputs to meet the specific needs of your project.
-
Introduce
Select Python Environment
command and deprecaterobotcode.python
(be0573d)See here for an explanation.
0.91.0 - 2024-09-27
- vscode: Tool menu stabilized (de774fa)
- vscode: Correct handling when opening library in keywords view if keyword is loaded twice with a different alias (ac23751)
-
analyze: Show messages for InvalidHeader and DeprecatedHeader for RF7 (518aa12)
-
New command
RobotCode: Report Issue
(94d1efa)with this command you can report an issue directly from vscode to RobotCode's issue tracker
0.90.0 - 2024-09-16
-
Provide a language status icon and robot tools menu (7ef83f3)
A short Video: https://github.com/user-attachments/assets/b6980485-d7ec-4f6c-88a0-7d1a4e65dc40
0.89.1 - 2024-09-11
- Corrected parsing of OPTION tokens and variable resolving (5a8abf2)
- Corrected completion of arguments after
...
continuation line (377aa9d) - Dont show completion right after
...
(f24f6a8)
- Add some more regression tests (e2b3c4e)
0.89.0 - 2024-09-10
- Document highlight should only highlight real references not text references (a0c184a)
- Enable Robot Framework 7.1 support (6921c9a)
- Variables start with a
_
are no longer beeing reported as unused (afea114)
-
Use lambda instead of functools.partial (1518f71)
functools.partial with method is deprecated in Python 3.13
-
Fix some unused ignores for mypy (575bbff)
0.88.0 - 2024-09-07
- Introduce a script that generate the doc for cli tools (ecb5ec9)
- Update some documentation about config and cli (84553c3)
- Update readme (1e601e3)
- Add a Tip&Tricks page (dd27480)
- cli: Disable console links for RF7.1 if running in VSCode terminal (5e83537)
- config: Add console_links to robot.toml (3902937)
- langserver: Corrected and generalized semantic tokenizing if OPTION tokens in except and while statements (d5a9339)
0.87.0 - 2024-08-29
-
Correct installing colorama package (da28477)
this is somehow lost in the lates version of click..
-
cli: New command
discover files
(505f473)find all relevant robot framework files in a project.
-
discover: Add more colors and infos to discover commands (9e2d6f7)
0.86.2 - 2024-08-29
- Correction of some type hints that prevent robot code from running with older Python versions (37e20e3)
0.86.1 - 2024-08-29
- Update about and remove playground (fd140d0)
0.86.0 - 2024-08-29
-
Change detection of win32 (13a9265)
-
Change detection of win32 (0dfbd94)
-
Correct vscodeignore file (461bfb1)
I have over optimized the .vscodeignore file 🥶
-
robotcode: Introduce support for
.gitignore
and.robotignore
during test suite discovery (74fa480)Implemented support for
.gitignore
and.robotignore
files in the discovery process of Robot Framework test suites and test cases. -
robotcode: Introduce support for
.gitignore
and.robotignore
during test suite discovery (022517f)Implemented support for
.gitignore
and.robotignore
files in the discovery process of Robot Framework test suites and test cases.
0.85.0 - 2024-08-18
- langserver: Corrected coloring of test case/keyword names if names contains line continuations
...
(a848a93)
- Some reorganizations (a49829b)
- Some more restrucuting (5b2752f)
- Correct RF versions in README (da0af7b)
- "Get Started" improved (c9954ad)
- langserver: Send full completion info if language client does not support
completionItem/resolve
(4cf0127)
0.84.0 - 2024-08-08
-
debugger: Corrected handling of local variables in variables inspector (12ecdd4)
-
debugger: Corrected start debuggin in internalConsole (b5124c8)
-
debugger: Corrected start debuggin in internalConsole (f3fbf20)
-
robot: Use casefold for normalizing and remove some local imports in VariableMatcher (04e12a7)
-
vscode: Remove
attachPython
from defaultlaunch.json
config (217653b) -
vscode: Only test cases are reported as queued, started and completed (1d01f43)
this corrects the number of successful/executed test cases in the upper area of the test explorer
-
vscode: Remove
attachPython
from defaultlaunch.json
config (8052f8d) -
vscode: Only test cases are reported as queued, started and completed (f68b8e3)
this corrects the number of successful/executed test cases in the upper area of the test explorer
- quickstart: Add quickstart documentation page (1fdb966)
- quickstart: Improve quickstart documentation (a5dd60a)
- Updated config page (b230689)
- Fix some formatting and spelling things (99d18fe)
-
debugger: Added support for disabling the hiding of debugger threads/tasks. (049c905)
By setting the ROBOTCODE_DISABLE_HIDDEN_TASKS environment variable to a value not equal to 0, the Robot Code debugger will not be hidden from the Debugpy debugger, allowing you to debug the Robot Code debugger itself.
-
Diagnostics modifiers (d1e5f3f)
Implement functionality to configure diagnostic error messages during source code analysis. Lines in the code with the
# robotcode:
marker are now interpreted as modifiers. The full structure of a modifier is# robotcode: <action>[code(,code)*]*
.Allowed actions:
ignore
: Ignore specified diagnostic codes.hint
: Treat specified diagnostic codes as hints.warn
: Treat specified diagnostic codes as warnings.error
: Treat specified diagnostic codes as errors.reset
: Reset the diagnostic codes to their default state.
This implementation allows for the following:
- Custom actions to be performed on specified diagnostic codes.
- Enhanced control over which diagnostic messages are shown, ignored, or modified.
- Flexibility in managing diagnostic outputs for better code quality and debugging experience.
Usage details:
- A diagnostic modifier can be placed at the end of a line. It modifies only the errors occurring in that line.
- A modifier can be placed at the very beginning of a line. It applies from that line to the end of the file.
- If a modifier is within a block (e.g., Testcase, Keyword, IF, FOR) and is indented, it applies only to the current block.
Example usage:
# robotcode: ignore[variable-not-found, keyword-not-found]
- Ignores the errors for variable not found and keyword not found.# robotcode: hint[MultipleKeywords]
- Treats the MultipleKeywords error as a hint.# robotcode: warn[variable-not-found]
- Treats the variable-not-found error as a warning.# robotcode: error[keyword-not-found]
- Treats the keyword-not-found error as an error.# robotcode: reset[MultipleKeywords]
- Resets the MultipleKeywords error to its default state.# robotcode: ignore
- Ignores all diagnostic messages .# robotcode: reset
- Resets all diagnostic messages to their default.
Example scenarios:
Modifier at the end of a line:
*** Keywords *** Keyword Name Log ${arg1} # robotcode: ignore[variable-not-found]
This modifier will ignore the
variable-not-found
error for theLog
keyword in this line only.Modifier at the beginning of a line:
# robotcode: ignore[keyword-not-found] *** Test Cases *** Example Test Log Hello Some Undefined Keyword
This modifier will ignore
keyword-not-found
errors from the point it is declared to the end of the file.Modifier within a block:
*** Keywords *** Example Keyword # robotcode: warn[variable-not-found] Log ${arg1} Another Keyword
This modifier will treat
variable-not-found
errors as warnings within theExample Keyword
block.Modifier using reset:
# robotcode: error[variable-not-found] *** Test Cases *** Example Test Log ${undefined_variable} # robotcode: reset[variable-not-found] Log ${undefined_variable}
In this example, the
variable-not-found
error is treated as an error until it is reset in theAnother Test
block, where it will return to its default state.Modifier to ignore all diagnostic messages:
# robotcode: ignore *** Test Cases *** Example Test Log ${undefined_variable} Some Undefined Keyword
This modifier will ignore all diagnostic messages from the point it is declared to the end of the file.
Modifier to reset all diagnostic messages:
# robotcode: ignore *** Test Cases *** Example Test Log ${undefined_variable} # robotcode: reset Another Test Some Undefined Keyword
In this example, all diagnostic messages are ignored until the
reset
modifier, which returns all messages to their default state from that point onward. -
Diagnostics modifiers (223ec13)
Implement functionality to configure diagnostic error messages during source code analysis. Lines in the code with the
# robotcode:
marker are now interpreted as modifiers. The full structure of a modifier is# robotcode: <action>[code(,code)*]*
.Allowed actions:
ignore
: Ignore specified diagnostic codes.hint
: Treat specified diagnostic codes as hints.warn
: Treat specified diagnostic codes as warnings.error
: Treat specified diagnostic codes as errors.reset
: Reset the diagnostic codes to their default state.
This implementation allows for the following:
- Custom actions to be performed on specified diagnostic codes.
- Enhanced control over which diagnostic messages are shown, ignored, or modified.
- Flexibility in managing diagnostic outputs for better code quality and debugging experience.
Usage details:
- A diagnostic modifier can be placed at the end of a line. It modifies only the errors occurring in that line.
- A modifier can be placed at the very beginning of a line. It applies from that line to the end of the file.
- If a modifier is within a block (e.g., Testcase, Keyword, IF, FOR) and is indented, it applies only to the current block.
Example usage:
# robotcode: ignore[variable-not-found, keyword-not-found]
- Ignores the errors for variable not found and keyword not found.# robotcode: hint[MultipleKeywords]
- Treats the MultipleKeywords error as a hint.# robotcode: warn[variable-not-found]
- Treats the variable-not-found error as a warning.# robotcode: error[keyword-not-found]
- Treats the keyword-not-found error as an error.# robotcode: reset[MultipleKeywords]
- Resets the MultipleKeywords error to its default state.# robotcode: ignore
- Ignores all diagnostic messages .# robotcode: reset
- Resets all diagnostic messages to their default.
Example scenarios:
Modifier at the end of a line:
*** Keywords *** Keyword Name Log ${arg1} # robotcode: ignore[variable-not-found]
This modifier will ignore the
variable-not-found
error for theLog
keyword in this line only.Modifier at the beginning of a line:
# robotcode: ignore[keyword-not-found] *** Test Cases *** Example Test Log Hello Some Undefined Keyword
This modifier will ignore
keyword-not-found
errors from the point it is declared to the end of the file.Modifier within a block:
*** Keywords *** Example Keyword # robotcode: warn[variable-not-found] Log ${arg1} Another Keyword
This modifier will treat
variable-not-found
errors as warnings within theExample Keyword
block.Modifier using reset:
# robotcode: error[variable-not-found] *** Test Cases *** Example Test Log ${undefined_variable} # robotcode: reset[variable-not-found] Log ${undefined_variable}
In this example, the
variable-not-found
error is treated as an error until it is reset in theAnother Test
block, where it will return to its default state.Modifier to ignore all diagnostic messages:
# robotcode: ignore *** Test Cases *** Example Test Log ${undefined_variable} Some Undefined Keyword
This modifier will ignore all diagnostic messages from the point it is declared to the end of the file.
Modifier to reset all diagnostic messages:
# robotcode: ignore *** Test Cases *** Example Test Log ${undefined_variable} # robotcode: reset Another Test Some Undefined Keyword
In this example, all diagnostic messages are ignored until the
reset
modifier, which returns all messages to their default state from that point onward.
0.83.3 - 2024-06-20
- config: Correct handling of string expression at building the command line in config model (0a85e3d)
0.83.2 - 2024-06-20
- vscode: Optimize tmLanguage definition (166cd25)
- vscode: Some small corrections for in (semantic) highlightning (43321f6)
- Fix some typos (8a1e91e)
0.83.1 - 2024-06-10
- config: Correct some markdown syntax error in documentation for config model (b5fed35)
- vscode: Correct highlightning of line continuations if it contains empty lines or comments lines (c274c51)
- Add a header to config docs (17ae419)
- Initial move to vitepress for documentation (f37d8e7)
- Setup vitepress project correctly (882d27c)
- Add a logo with text (1ded4d0)
- Enable pytest-rerunfailures for unittests (3b6e0ce)
- Fix tests for Robot Framework version 7.0.1 (420fee4)
0.83.0 - 2024-05-16
- debugger: Fix type annotations for python 3.8 (d2cc421)
-
vscode: Support for highlighning robot code in markdown code blocks (b9de061)
use the at defining the language in a codeblock you can use
robot
orrobotframework
as specifier
0.82.3 - 2024-05-12
- analyse: Allow local variables in [Teardown] (5bab97c)
- Update some tests (4981eb3)
0.82.2 - 2024-05-10
- analyse: Correct handling of keyword arguments in all other keyword settings, regardless of the order of the settings. (62f9544)
0.82.1 - 2024-05-09
- runner:
--by-longname
and--exclude-by-longname
now take into account whether a name for the run was set via--name
command line argument or in thename
setting robot.toml (6f5c719)
- debugger: Some code simplifications (bc97744)
0.82.0 - 2024-05-05
-
vscode: Detection of invalid robot environment now shows a quickpick instead an error message (95a7630)
In the case RobotCode will initalize the LanguageServer and detect that environment is not valid, means wrong python version, no robotframework installed, instead an error message pops up a quickpick pops up, where you can do different things, like select a differnt interpreter, create a new venv, ignore this for the moment. The advantage of this way is, that this also works with extensions like Pyhton Manger and so on
0.81.0 - 2024-05-03
- debugger: Rework async code in debugger and some other little quitrks in debugger, like hiding the debugger thread when debuggin python code (d7fe611)
- vscode: Get debugpy debuggerpackagepath from ms-python.debugpy extension (9a00d0c)
0.80.0 - 2024-05-01
- We have a new icon (fe78ec8)
0.79.0 - 2024-04-21
- debugger: Don't show a message on unsupported rpc commands (504e091)
- langserver: Normalize path handling should not fully resolve symlinks (0c0198a)
- langserver: Highlight some formatting tags in documentation like bold and italics for englisch language (4d2cdae)
- vscode: Add option to disable the vscodes test explorer/execution integration (9332099)
- langserver: Update regression tests (4fab1d1)
0.78.4 - 2024-03-20
- robotcode: Add missing
robotcode-robot
dependency (d9cea02)
0.78.3 - 2024-03-20
- langserver: Add missing
robotcode-robot
dependency (2d1c99d)
0.78.2 - 2024-03-19
- tidy: Make robotframework-tidy 4.11 running (569dbe8)
0.78.1 - 2024-03-15
- analyze: If a imported resource has import errors it is shown as releated information (caf8541)
- langserver: Hovering over
EMPTY
builtin variable respects the type and shows correct empty values (c8b66c8) - profiles: Profiles inherited by
[profile].inherit
are now merged before the parent profile, unless theprecedence
is set and are only enabled if the parent profile is enabled (318d780)
0.78.0 - 2024-03-07
- vscode: Some corrections in environment variable highlightning (8936bfb)
-
vscode: Python syntax highlightning in IF and WHILE statements (c56def3)
implements a part of #230
- Fix some regression tests (6001e30)
0.77.1 - 2024-03-06
- vscode: Correct some things in bracket highlightning and coloring (6c584dc)
0.77.0 - 2024-03-05
- diagnostics: Resolving variables does not work for builtin vars at library import (6b97730)
-
vscode: Enable bracket coloring and matching in keyword arguments (45243e5)
-
vscode: Python syntax highlightning in
${{}}
expressions (adf3627)this implements a part of #230
0.76.2 - 2024-03-01
- cli: Add missing plugin package (66982bd)
0.76.1 - 2024-02-29
- core: Avoid iterator changes during Event.notify when adding or removing new event handlers (ccc5faf)
- core: Send cache_invalidate events before and after locking to avoid deadlocks (5f06377)
- langserver: Sometimes an exception in evaluating variables in expressions occurs (bd9bcfd)
- langserver: Change keywords treeview rpc methods to non async (f85621a)
- langserver: Optimize analysing and collecting diagnostics (065db06)
0.76.0 - 2024-02-19
- langserver: Add duplicated imports to references (e603628)
- langserver: Correct variable handling from resource imports (619eee4)
- vscode: Correct resolving resource documentation in keywords treeview (2935bb8)
-
langserver: Introduce new setting
robotcode.analysis.cache.ignoreArgumentsForLibrary
(bb55ff4)This is usefull if you have library that get's variables from a python file that contains complex data like big dictionaries or complex objects that robotcode can't handle.
-
marketplace: Create a Q&A discussion category on github (605377d)
as a second way to ask questions and collect answers about robotcode I created a discussion group on the RobotCode github repository
-
vscode: Use the official python extension api to get informations about python environments (c032814)
closes [ENHANCEMENT] Integrate new Python Extension API #215
- analyzer: Optimization of the analysis of imports, accelerated by a factor of 3 (321b88d)
- langserver: Try to use the last initialized namespace for completions to be a bit more responsive (2c6fe37)
0.75.0 - 2024-02-13
-
debugger: Correct wrong lineno informations from robot in listener start_(test/suite/keyword) lineno is
None
(b4f9c5c)If RobotFramework executes a test case, keyword or so, where the line number is not set internally, i.e.
None
, it generates an empty string for the line number in the listener instead of also passingNone
. This rarely happens, but it does occur. -
debugger: Fix some small glitches when robot is terminated but the Vscode is not fast enough to notice it ;-) (5fdb0d7)
-
vscode: Debugger now uses the new
Python Debugger
extension as default debugger for python (aab6b6d)Microsoft rewrites the debugger extension for python and this will be the new standard extension for debugging python code. see here
0.74.0 - 2024-02-12
-
debugger: Filling zeros are now added to the name of an element so that elements are sorted correctly in the variable view at debugging time (456ab2c)
-
debugger: Add
BuiltIn.Run Keyword And Return Status
to the list of keywords that caught exceptions on inner keywords (add8297) -
langserver: Correct importing variables with the same filename (e1ac0cb)
closes [BUG] Variables from variable files are often displayed as not found #214
-
robot: Handle OSErrors if creating/reading user robot.toml (470b438)
should fix: #187
- vscode: Organize vscode settings in groups (9bbe68b)
0.73.3 - 2024-02-07
- discover: Update run buttons doesn't work on typing (5f8a890)
0.73.2 - 2024-02-07
- discover: Discover files when robot arguments with relative files are now read correctly (d12c67c)
- Update versions in README (d6c6f09)
0.73.1 - 2024-02-05
-
langserver: Don't show deprecation message for tags starting with an hyphen in RF7 (d510a65)
fixes [BUG] #212
0.73.0 - 2024-02-05
- discover: Don't show an error if no tests or suite are found (f57b065)
- vscode: Trim and shorten long names and descriptions in
Select Configuration Profiles
command (8abcb67) - vscode: Stabilized recreation of test explorer items if folders are deleted (370ff84)
- vscode: Introduce robotcode contribution point for vscode extensions plugins (6519687)
0.72.0 - 2024-02-01
- profiles: Enhanced error handling if invalid profile is given (c3d8b07)
-
profiles: Enhanced handling of environment variables in profile settings (37fdbb3)
This update allows the setting, overriding, and utilization of system environment variables in expressions and conditions within the robot.toml configuration files. This enhancement increases the flexibility and adaptability of profile configurations.
-
profiles: Profiles prefixed with an underscore (
_
) are now automatically hidden inprofiles list
command (97bf390) -
profiles: A profile can now be hidden and inherit from other profiles (9cd2ffb)
-
vscode: Show profiles from robot.toml in test explorer as test profile (fcb32a7)
0.71.1 - 2024-01-30
- diagnostics: Library doc are now correctly unloaded when they are no longer needed (df6762a)
- vscode: Remove unneeded "test" badge on the explorer icon (4f012b4)
- langserver: Remove unneeded double caching of library imports (3de0882)
- core: Add locks with default_timouts in documents actions (5eab74e)
0.71.0 - 2024-01-27
-
analyzer: Introduce
robotcode.analysis.robot.globalLibrarySearchOrder
setting to specify a global search for libs and resources (9d34ed4)Implemented this, because analyse
Set Library Search Order
is to hard.
0.70.0 - 2024-01-26
- analyzer: Correct resolving variables declared with the new VAR statement and a scope (a259ec6)
- debugger: Fix some things in debugger to better support Robot Framework version 7.0 (a81695c)
- langserver: Correct minimum robot version in version check (f33c80a)
- vscode: Simple drag'n drop keywords from keywords view to text editor (6093387)
0.69.0 - 2024-01-24
- langserver: Display the return type in hover only when it is explicitly defined (3fa09a7)
- runner: Environment vars are evaluated to late (f74ea4a)
-
langserver: Start the internal HTTP server only on demand (2254156)
You can disable this behaviour with the new option
robotcode.documentationServer.startOnDemand
. -
vscode: New keywords tree view in the explorer sidebar (c0495e6)
0.68.5 - 2024-01-21
- langserver: Filewatcher does not work (5b72148)
0.68.4 - 2024-01-20
- langserver: Start langserver should not raise a TypeError if startet with no config (5eca367)
- Change description of package (f6a4f79)
- Create CONTRIBUTING.md and review CODE_OF_CONDUCT.md (a107b95)
- langserver: Remove unused maxProjectFileCount setting (4f4ad31)
- langserver: Move TextDocument from langserver to core package, some other simple refactorings (d60977b)
- Move diagnostics helper code to robotcode.robot package (c94edb3)
0.68.3 - 2024-01-11
- langserver: Completion in templated test cases should not show keywords and such things (621c70a)
- langserver: Generate libdoc spec generation for RFW 7 (e259c86)
- vscode: Open a result file or view documention does not work in CodeSpaces (0020ddf)
0.68.2 - 2024-01-10
-
langserver: Correct highlight ranges for hover (d0e4091)
-
langserver: Goto and implementation sometimes return to many wrong results on import statements (3798c5e)
-
langserver: Preventing extensive calls to 'workspace/configuration' through caching (77db502)
-
langserver: Langserver that sometimes hangs, 'loop is not running' or 'lock take to long' messages (37d8119)
Rewrote and refactor diagnostics and refreshing part to use normal threads and not async. This should also bring a better performance for bigger projects, but maybe this needs some more optimizations.
-
langserver: Speedup diagnostics, unused references and codelenses updates (e13641e)
-
langserver: Stabilize workspace diagnostics (185b551)
- langserver: Remove async from robotcode langserver analytics (1ff1e44)
- langserver: Remove AsyncVisitor code (c9aaa60)
- langserver: Implement cancelable threads and remove async code from definition, implementations, hover, folding (2fae8e3)
- langserver: Remove HasExtendCapabilities protocol and implement the method directly, extend threaded decorator (b76eb0f)
- langserver: Remove async code from document_highlight and document_symbols, add regression tests for document_symbols (755daf7)
- langserver: Move local import to global imports in document_symbols (135b0d4)
- langserver: Remove async code from code actions (87cb416)
- langserver: Remove async code from completions (5009202)
- langserver: Some parameter renaming (a2bddf9)
- langserver: Move core.utils.threading to core.concurrent and rename some function (faee359)
- langserver: Remove async code from code lens (204624c)
- langserver: Remove async code from commands (58f185b)
- langserver: Remove async code from formatting and some import corrections (2f25c78)
- langserver: Remove async code from inlay hints (7535bfa)
- langserver: Remove async code from inline value (4e1b23c)
- langserver: Remove async code from diagnostics, selection range, workspace, signature help (0c38843)
- langserver: Remove async code from rename (15e409d)
- langserver: Remove async code from semantic tokens (3adddd1)
- langserver: Correct refresh handling and remove some unneeded code (3f3944f)
- langserver: Remove threaded decorator from rpc methods and introduce a threaded property for the rpc_method decorator (b478ae3)
- langserver: Rename core.concurrent.FutureEx to Task (d75eb9a)
- robotcode: Move threaded decorator to the new core.utils.threading module (96b897b)
- Remove some unneeded code (65e1775)
- Move most of langserver...ast_utils to robotcode.robot.utils.ast (bc96805)
- Move language_server.robotframework.utils to robotcode.robot package (6fe4dc0)
- Move some diagnostics code from langserver package to robot package (4b3e65c)
- Add RFW 7.0 to devel and test matrix (cd35020)
- Try to stablize regression tests (19419b3)
- Enable RFW 7.0 tests in github workflow (6a39f66)
- Another try to stabilize regression tests (91d4d48)
0.68.1 - 2023-12-21
- robotcode: Add missing robotcode-plugin dependency (570232d)
- robotcode: Catch OSError's if we can't create the default robot.toml config file (6dd5f9e)
0.68.0 - 2023-12-20
- langserver: Correct duplicate items in completions (023bfd7)
- Support for new keyword model changes in RFW 7 (cb306cb)
- core: Move some files from core to utils (92c1911)
- debugger: Move import in cli handler in to cli function (c96a321)
0.67.0 - 2023-12-13
- langserver: Correted folding of IF blocks with multiple ELSE/ELSE IF's (536db5e)
- langserver: Unbound local variable in imports manager (6d7b3d2)
- vscode: Don't show diagnostics when discover tests from a single file (25024ac)
- cli: Introduce a command line switch to log to a file (7a6b8af)
- debugger: Lighter color for timestamps and respect the `--no-color' command line switch to disable colored output (6f12eed)
- langserver: Make documents handling synchronous and more threadsafe (d1c72c2)
- langserver,jsonrpc: Use concurrent.futures.Future to send request, make register_capabilities syncronous (41f495b)
- langserver: Fix some regression tests (0016ef6)
- langserver: Fix some regression tests (fec9542)
- langserver: Fix some more regression tests (a399bd6)
0.66.1 - 2023-11-24
- langserver: Show a hint instead an error if there are variables used in a test case name (6589b71)
0.66.0 - 2023-11-23
- langserver: Handle unwanted warning messages at libdoc generation for robot files (ce20bf5)
- langserver: Implemented deprecation warning for old [RETURN] setting for RF 7 (40a5e42)
0.65.1 - 2023-11-23
- debugger: Use concurrent.futures for sending request instead of asyncio.Futures (dc06c2c)
0.65.0 - 2023-11-22
- langserver: Support for new VAR statement in RF7 (2678884)
- langserver: Added new return type information of keyword from libdoc to documentation hover (b91f2ff)
- jsonrpc: Use concurrent.Futures instead of asyncio.Futures for request (50384dc)
- Some code cleanup and simplifications (f799fb4)
- Move markdown formatter to robotcode.robot.utils (5a22bef)
0.64.1 - 2023-11-20
- Correct creating run profiles if you use a single workspace folder (e5430ec)
0.64.0 - 2023-11-19
- cli: Add missing dependency (9c6ed1f)
- langserver: Signature help and markdown documentation for arguments without type for RF7 (d67b2a0)
- langserver: Support for clients that do not implement pull diagnostics, e.g. neovim (ced5372)
- langserver: Correct detection of valid nodes in quickfixes for TRY/EXCEPT statements in RF5 (1bcef86)
- Correct completion of argument types for RF7 (dbca774)
- Some small glitches in semantic highlightning (39b658f)
-
langserver: Colorize new VAR token for RF7 (3cd27b2)
-
langserver: Add completions and new snippets for the new VAR statement for RF7 (5631a1b)
-
vscode: Support for creating test profiles in vscodes test explorer (8c0e889)
In
launch.json
you can create a new entry with purposetest-profile
this entry is show in the "run tests" and "debug tests" drop down and can be selected by right click on a test end then "Execute Using Profile..." entry. This profile is then used instead of the default test launch config with the purposetest
Example
{ "name": "Test Environment", "type": "robotcode", "purpose": "test-profile", "request": "launch", "presentation": { "hidden": true }, "variables": { "TEST_PROFILE_VAR": "TEST_PROFILE_VALUE" } }
- cli: Move --(no)-diagnostic switch to the discover command (9ed33c9)
- Remove inner imports from analyzer (470bcff)
- Some code simplifications (fbec326)
0.63.0 - 2023-11-12
- langserver: Simplify code for variables and library completions (256d7aa)
- Add some new logo ideas (e468a0f)
-
First support for RF 7 (bd704c2)
start implementing #177
- vscode: Detection and running of python from vscode (6000edb)
- Remove unused code and update dependencies (4c2d1f7)
0.62.3 - 2023-10-31
- langserver: Correction of escaped characters and variables highlighting in import names (22ef5f3)
- langserver: Correct handling of imports containing backslashes, in RobotFramework you have to escape them (097c28b)
0.62.2 - 2023-10-28
- langserver: Resolving of ${EXECDIR} and ${CURDIR} corrected (32a1492)
0.62.1 - 2023-10-28
- langserver: Single resource file with different relative paths is not seen as same file (0c2a08f)
0.62.0 - 2023-10-27
- langserver: Support for importing libraries of multiple classes from a module (35c9775)
- Do not use pathlib.Path.resolve because it is slow and we don't need to resolve links (85c3dc1)
- Correct some regression tests (6031f48)
0.61.7 - 2023-10-25
- langserver: Increase performance of visitor a little bit more (a257b90)
0.61.6 - 2023-10-20
-
langserver: Correct handling of imports with the same namespace name (c65e98d)
hover, semantic hightlightning, references are aware of the current keyword call namespace if given
- langserver: Make package import relativ (91513c5)
0.61.5 - 2023-10-19
- langserver: Correct highlight, completion, analyze, etc. keyword calls with
.
that are also valid namespaces (42fe633)
0.61.4 - 2023-10-15
- discover: Normalize tags in tests command and sort tags (cf1159c)
- langserver: Complete keywords containing
.
if there is no namespace with the name before the dot (5fc3104)
- Optimize some config descriptions (88ee386)
- langserver: Speedup Visitor and AsyncVisitor a little bit (3d8a22d)
0.61.3 - 2023-10-10
- core: Improve perfomance of converting dataclasses to json (dfb576e)
- core: Increase performance of dataclasses.from_dict (a41cfb3)
0.61.2 - 2023-10-07
- Some regression tests (d36deb4)
0.61.1 - 2023-10-07
- langserver: Correct handling of
robotcode.robocop.configurations
setting (9dc690e)
- Some more performance corrections for as_dict (3212c71)
0.61.0 - 2023-10-07
- Update json schema and doc for
robot.toml
file (f7c0693)
- discovery: Add more options for discovering tags and tests (508b517)
- robotcode: Rename
extra-
prefix toextend-
in robot.toml files (d4747e2) - robotcode: Better formatting and include active, selected, enabled state of a profile in
profile list
command (850c751)
- Optimize performance of as_dict for dataclasses (2b4ce26)
0.60.0 - 2023-10-04
- robotcode: Introduce plugin spec for configuration classes (582e360)
- robotcode: Add
Path
to allowed GLOBALS in config expressions (66aea74)
0.59.0 - 2023-09-28
-
langserver: All refactorings and quickfixes are now previewable (40e9d92)
when you select a quickfix or refactoring with CONTROL+RETURN a refactor preview window is shown.
0.58.0 - 2023-09-26
- langserver: Code action - extract keyword (9f92775)
- vscode: Update to vscode-languageclient to 9.0, now we need at least a vscode version >=1.82 (d8591b1)
0.57.4 - 2023-09-24
- langserver: Correct "Create keyword" quick fix to ignore empty lines when inserting text (12af94d)
0.57.3 - 2023-09-23
- langserver: Some correction at line and file endings for signature help (782bfe6)
- langserver: Only show valid headers in resource and init.robot file at completion (674040a)
0.57.2 - 2023-09-20
- langserver: Don't show argument completion if the cursor is in a keyword assignment (3c5a797)
- langserver: Don't show surround code action if we have selected template arguments (59a0114)
0.57.1 - 2023-09-19
- langserver: Correct some completion quirks at line or file ends (080ab83)
- langserver: Correct some in refactor surrounding quirks at file ends (082132c)
0.57.0 - 2023-09-17
- langserver: Quick fixes for code actions are generated for all diagnostics specified in the request, and quick fixes are generated with the name of the variable or keyword in the label. (c2b8f5a)
- langserver: Improved quickfix
create keyword
can now add keywords to resource files if valid namespace is given (9499d43) - New code action refactor rewrite: surroundings for TRY/EXCEPT/FINALLY (fdba5b9)
- langserver: Move code action
assign result to variable
to refactorings (b8efd1d)
0.56.0 - 2023-09-11
- Fix some comments in changelog and add some more todos (dc71f0e)
- langserver: New code action quick fixes - assign kw result to variable, create local variable, disable robot code diagnostics for line (bba00aa)
- langserver: New code action quick fix - create suite variable (4c03a80)
- langserver: New code action quick fix - Add argument (a21c05b)
- langserver: Move all error messages to one place (125c091)
- Update code action show documentation test cases (1c333d3)
0.55.1 - 2023-09-06
-
debugger: Correct update of test run results when suite teardown fails or is skipped during suite teardown for RF 4.1 (65d67ca)
this is a follow up to 80b742e
0.55.0 - 2023-09-05
- Update of RobotCode icon in status bar when Python environment is changed (161806c)
- Don't complete arguments for run keywords (38698ed)
- Correct handling of @ variable and & dictionary arguments in signature help and completion (4415387)
- langserver: Better completion for variable imports (1602b71)
- Support for robocop 4.1.1 code descriptions (a5a0d4c)
- Move code_actions and support unions with enums and string in dataclasses (b9a3f10)
0.54.3 - 2023-09-02
- langserver: Correct some styles for semantic highlightning (89eeeb4)
- langserver: Change scope name of argument tokens to allow better automatic opening of completions (4f144c4)
- langserver: Dont show values in completions if the token before is an named argument token (26c6eda)
0.54.2 - 2023-09-02
- langserver: Escape pipe symbols in keyword argument descriptions in hover (b3111fe)
- vscode: Correct highligtning of keyword arguments (162a0b0)
- Sorting of completion items on library imports (5d2c20d)
0.54.1 - 2023-09-01
- Disable html report for pytest (8fcb4ed)
0.54.0 - 2023-09-01
- langserver: Disable directory browsing in documentation server (18ad3ff)
- langserver: Correct end positon of completion range in arguments (063d105)
-
langserver: Better argument signatures for completion and signature help (ed7b186)
don't break between prefix and name of signature
-
langserver: Better signature help and completion of keyword arguments and library import arguments, including completions for type converters like Enums, bools, TypedDict, ... (dee570b)
0.53.0 - 2023-08-27
-
langserver: First version of completion of enums and typed dicts for RF >= 6.1 (bd39e30)
-
robocop: With code descriptions in
robocop
diagnostics you can jump directly to the website where the rule is explained (46125a5)closes #152
0.52.0 - 2023-08-25
- Use import nodes to add references for libraries/resources and variables (f0eb9c9)
-
debugger: Add some more informations in verbose mode (ff87819)
-
langserver: Goto, highlight, rename, hover, find references for named arguments (054d210)
rename and goto only works for resource keywords
-
langserver: Inlay hint and signature help now shows the correct parameters and active parameter index, make both work for library and variable imports and show type informations if type hints are defined (99bc996)
-
robotcode: Internal cli args are now hidden (934e299)
If you want to show these args set the environment variable
ROBOTCODE_SHOW_HIDDEN_ARGS
totrue
or1
.
0.51.1 - 2023-08-13
- Update some tests (b459cf7)
0.51.0 - 2023-08-13
- langserver: Correct highlighting of keyword arguments with default value (c12e1ef)
- Correct hovering, goto, etc. for if/else if/inline if statements (7250709)
- Extend some help texts (f14ec2d)
- discovery: Option to show/hide parsing errors/warnings at suite/test discovery (633b6b5)
- langserver: Highlight namespace references (b9cd85a)
- langserver: Rework "Analysing", "Hover", "Document Highlight", "Goto" and other things to make them faster, simpler, and easier to extend (47c1feb)
- langserver: Speed up hovering for keywords, variables and namespace by using references from code analysis (4ba77ab)
0.50.0 - 2023-08-08
-
Made RobotCode work with Python 3.12 (aee8378)
Because of some changes in `runtime_protocols', see python doc
- Reorganize docs (5fb0d61)
-
discover: Tags are now discovered normalized by default (7f52283)
you can add --not-normalized cli argument to get the tags not normalized
-
robotcode: Use default configuration if no project root or project configuration is found (ac1daa1)
0.49.0 - 2023-08-03
-
Completion of bdd prefixes optimized (840778e)
- If you press CTRL+SPACE after a bdd prefix the completion list is shown without typing any other key.
- if the cursor is at the bdd prefix, other bdd prefix are on the top of the completion list and if you select a bdd prefix only the old prefix is overwritten
-
User default
robot.toml
config file (55f559d)Instead of defining default settings like output-dir or python-path in VSCode a default config file is created in user directory. The default settings in VSCode are removed, but you can define them here again, but the prefered way is to use the
robot.toml
file in user directory. -
Reporting suites and tests with the same name when tests are discovered (e5d895b)
-
"create keyword" quick fix detects bdd prefixes in the keyword being created and creates keywords without the prefix (e9b6431)
0.48.0 - 2023-07-30
-
robotcode: Add missing profile settings to config documentation (48cb64c)
-
Correct update of test run results when suite teardown fails or is skipped during suite teardown (80b742e)
Unfortunately, if a test has already failed but it is subsequently skipped in the teardown, the error status of VSCode is not set because the skipped status has a lower priority than the failed status. This is a VSCode problem and I can't change it at the moment.
-
Correct completion of settings with ctrl+space in some situation (47c1165)
-
In a test run, errors that occur are first selected in the test case and not in the keyword definition (a6f0488)
-
Discover tests for RF 6.1.1 (b27cbcf)
-
Better output for discover info command (ac6b4a6)
- vscode: Added a statusbar item that shows some information about the current robot environment, like version, python version, etc. (1ff174a)
- Removed old
robotcode.debugger
script in favor of usingrobotcode debug
cli command (e69b10a)
0.47.5 - 2023-07-20
- Add missing log-level in testcontroller (a26193f)
0.47.4 - 2023-07-20
- Don't update tests if editing
__init__.robot
files (d6d1785)
0.47.3 - 2023-07-18
- Reset changlog (e39b6ce)
- Move to commitizen to create new releases, this is only a dummy release.. (07b6e4c)
0.47.2 - 2023-07-17
- Duplicated header completions if languages contains same words (d725c6e)
0.47.1 - 2023-07-10
- debugger: Print the result of an keyword in debugger also if it has a variable assignment (43440d8)
- Dont update tests in an opened file twice if file is saved (390e6d4)
0.47.0 - 2023-07-10
- debugger: (re)disable attachPython by default (26ee516)
- debugger: Hide uncaught exceptions now also works correctly for RF >=5 and < 6.1 (f784613)
- Update diagnostic for Robocop 4.0 release after disablers module was rewritten (6636bfd)
- Stabilize debugger with new vscode version > 1.79 (d5ad4ba)
- Correct message output in test results view (b18856f)
-
debugger: Debugger does not stop on errors caught in TRY/EXCEPT blocks (043842c)
To stop on these errors you have to switch on the exception breakpoint "Failed Keywords".
-
debugger: Switching between "keyword" and "expression" mode by typing
# exprmode
into debug console (default: keyword mode) (1cc6680)In the expression mode you can enter python expression and ask for variables and so on. In keyword mode you can enter robot framework statements, i.e. simple keyword call, IF/FOR/TRY statements, this also allows multi line input
-
debugger: Simple keyword completion in debugger (6b1ffb6)
-
debugger: Expanding dict and list variables in the variable view of the debugger, this also works in hints over variables, in the watch view and also by evaluating expressions/keywords in the command line of the debugger (2969379)
-
Show more informations in hint over a variables import (735a209)
-
Complete reserved tags in Tags settings (483b9ac)
Closes [ENHANCEMENT] Support Reserved Tags #103
-
Show deprecation information if using
Force Tags
andDefault Tags
(f23e5d0)
0.46.0 - 2023-07-05
- debugger: Evaluation expressions in RFW >= 6.1 not work correctly (f7c38d6)
- Insted of starting the debugger, start robotcode.cli in debug launcher (013bdfd)
-
Allow multiline RF statements in debug console (f057131)
This supports also IF/ELSE, FOR, TRY/EXCEPT/FINALLY statements. Just copy your piece of code to the debug console. This also enables the python debugger by default if you run a RF debugging session
0.45.0 - 2023-06-23
- Change code property for diagnostics for analyse imports to ImportRequiresValue (222e89c)
- Document_symbols throws exception if section name is empty (ffce34d)
- Library doc now generates a more RFW-like signature for arguments and argument defaults like ${SPACE}, ${EMPTY}, ${True}, etc. for the respective values (28a1f8a)
0.44.1 - 2023-06-21
- Completion and diagnostics for import statements for RF >= 6.1 (b4e9f03)
0.44.0 - 2023-06-21
- Extension not terminating sometimes on vscode exit (753c89c)
- Detect languageId of not given at "textDocument/didOpen" (54e329e)
- Correct handling error in server->client JSON RPC requests (6e16659)
- Add option to start a debugpy session for debugging purpose (3f626cc)
- Make mypy and ruff happy (0c26cc0)
0.43.2 - 2023-06-20
- Only update test explorer items if file is a valid robot suite (9461acf)
- Update testitems does not work correctly if a init.robot is changed (a426e84)
0.43.1 - 2023-06-15
- Intellisense doesn't work when importing yml file with variables #143 (b19eea1)
0.43.0 - 2023-06-14
- Checks for robot version 6.1 (e16f09c)
- Hover over a tasks shows "task" in hint and not "test case" (457f3ae)
- Correct highlightning
*** Tasks ***
and*** Settings ***
(c4cfdb9)
- Support for new
--parseinclude
option in robot config (dfd88d8) - Support for new RF 6.1
--parse-include
option for discovering and executing tests (607cf8d) - Enable importing and completion of
.rest
,.rsrc
and.json
resource extensions (not parsing) (3df22dd) - Support for importing
.json
files in RF 6.1 (0f84c4e)
0.42.0 - 2023-06-05
- Support for new
--parseinclude
option in robot config (6b84986)
- Fix some mypy warnings (8622099)
- Fix some tests (39dcfd9)
0.41.0 - 2023-05-23
- Patched FileReader for discovery should respect accept_text (c654af5)
-
Optimize/speedup searching of files, setting
robotcode.workspace.excludePatterns
now supports gitignore like patterns (d48b629) -
New
robotcode.robotidy.ignoreGitDir
androbotcode.robotidy.config
setting to set the config file for robotidy and to ignore git files if searching for config files for robotidy (a9e9c02)see also: https://robotidy.readthedocs.io/
- Some optimization in searching files (5de8a17)
0.40.0 - 2023-05-17
- Wrong values for command line vars (3720109)
- Show argument infos for dynamic variables imports (94b21fb)
0.39.0 - 2023-05-16
- Update config documentation (b188b27)
- Language server now is a robotcode cli plugin and can use config files and execution profiles (12308bb)
- New command
RobotCode: Select Execution Profiles
(78f5548)
0.38.0 - 2023-05-15
- Use dispose instead of stop to exit language server instances (5aba99b)
- Bring output console into view if robotcode discovery fails (8bcc147)
- New command
discover tags
(a8fbb22)
- Fix some ruff warnings (1161451)
0.37.1 - 2023-05-11
- discover: Wrong filename in diagnostics message on update single document (dee91c4)
0.37.0 - 2023-05-10
- langserver: Resolving variables as variable import arguments does not work correctly (a7ba998)
- Some correction in completions for robotframework >= 6.1 (058e187)
- Test discovery now runs in a separate process with the
robotcode discover
command, this supports also prerunmodifiers and RF 6.1 custom parsers (ee5f0fb) - Reintroduce of updating the tests when typing (94053fc)
- Correct some help texts and printing of output (b225a73)
0.36.0 - 2023-05-01
-
Select run profiles in test explorer (a7f8408)
-
Simple
discover all
command (a1d8b84)shows which tests are executed without running them.
0.35.0 - 2023-04-25
- debug-launcher: Switch back to
stdio
communication, because this does not work on Windows with python <3.8 (6b0e96e)
- runner: Add
run
alias forrobot
command in cli (9b782cc)
0.34.1 - 2023-04-21
- Some code scanning alerts (61771f8)
0.34.0 - 2023-04-20
- Correct toml json schema urls (bf4def7)
-
debugger: Refactored robotcode debugger to support debugging/running tests with robotcode's configurations and profiles, also command line tool changes. (69131e6)
The command line
robotcode.debugger
is deprectated and do not support configs and profiles, to use the full feature set userobotcode debug
to start the debug server.By default
robotcode debug
starts a debug session and waits for incoming connections. -
runner: Implement command line options to select tests/tasks/suites by longname (d2cb7dc)
0.33.0 - 2023-04-09
- End positions on formatting (a87ba80)
- Improved Handling of UTF-16 encoded multibyte characters, e.g. emojis are now handled correctly (d17e79c)
0.32.3 - 2023-04-07
- Correct formatting with robotframework-tidy, also support tidy 4.0 reruns now, closes #124 (3b4c0e8)
- Use markdown style examples in commandline doc (7575a77)
- robotcode: Add new command to show informations about configuration setttings (47216e9)
- Fix DeprecationWarning for some tests (6e70fc3)
0.32.2 - 2023-04-05
- Update git versions script (fb16818)
0.32.1 - 2023-04-05
- Dataclasses from dict respects Literals also for Python 3.8 and 3.9 (73b7b1c)
0.32.0 - 2023-04-05
- Add command for robots testdoc (dd6d758)
- Allow expression for str options, better handling of tag:, name: options (d037ddb)
- Switch to src layout (40d6262)
0.31.0 - 2023-03-30
- Introduce mike for versioned documentation (4c6e9ac)
- robotcode: Add commands to get informations about configurations and profiles (edc4ee5)
- New commands robot, rebot, libdoc for robotcode.runner (25027fa)
- Profiles can now be enabled or disabled, also with a condition. Profiles can now also be selected with a wildcard pattern. (4282f02)
- Add more configuration options, update schema, new command config (5816669)
- Move the config command to robotcode package (90c6c25)
0.30.0 - 2023-03-22
- robotcode-runner: Robotcode-runner now supports all features, but not all robot options are supported (1b7affb)
- Implement robot.toml config file and runner (cff5c81)
0.29.0 - 2023-03-20
- Support for Refresh Tests button in test explorer (0b27713)
0.28.4 - 2023-03-19
- Update regression tests (59b782d)
0.28.3 - 2023-03-19
- Correct discovering for RobotFramework 6.1a1 (99aa82d)
- Correct analysing keywords with embedded arguments for RF >= 6.1 (ef0b51f)
- Start documentation with mkdocs (381dcfe)
0.28.2 - 2023-03-10
- Correct version of robotcode runner (1ba8590)
- Add tests for code action show documentation (e692680)
0.28.1 - 2023-03-10
- Source actions are missing in the context menu for versions #129 (dd6202a)
0.28.0 - 2023-03-09
- Return codes for command line tools now uses sys.exit with return codes (b6ad7dd)
- #125 Robot Code crashes with a variables file containing a Dict[str, Callable] (7e0b55c)
- Correct readme's (f09880b)
- Debugger is now started from bundled/tool/debugger if available (4b04c7a)
0.27.2 - 2023-03-06
- The debugger no longer requires a dependency on the language server (c5199ee)
- Unknown workspace edit change received at renaming (48aef63)
- Some big refactoring, introdude robotcode.runner project (d0f71fe)
0.27.1 - 2023-03-01
- Update badges in README's (78bbf7a)
0.27.0 - 2023-03-01
- Split python code into several packages, now for instance robotcode.debugger can be installed standalone (01ac842)
-
Introduce bundled/libs/tool folders and move python source to src folder (478c93a)
this is to prepare the splitting of one big python package to several smaller packages, i.e. to install the robotcode.debugger standalone without other dependencies
- Don't run the LS tests in another thread (c464edc)
0.26.2 - 2023-02-25
- Publish script (0d3dd8f)
0.26.1 - 2023-02-25
- Github workflow (a235b86)
0.26.0 - 2023-02-25
- Correct error message if variable import not found (a4b8fbb)
- Generate lsp types from json model (8b7af4f)
- Introduce timeout/wait_for for langserver tests (b9f4d5e)
- Decrease timeout for language server tests (9790823)
- Increate test timeouts and enable pytest logging (1d6a980)
- Disable run_workspace_diagnostics in unit tests (2348b0e)
- Increase timeout for langserver tests (1224dae)
- Use Lock instead of RLock for AsyncLRUCache (c36683e)
- Remove cache dir before running tests (5a9323b)
- Ignore errors if remove cache dir (c670989)
0.25.2-beta.1 - 2023-02-07
- robotlangserver: Optimize test discovering (4949ba6)
- robotlangserver: Workspace rpc methods are now running threaded (8f8f2b9)
- Fix some ruff errors and warnings, disable isort in precommit (c144250)
- Replace *Generator with *Iterator (cd96b1d)
- Change logger calls with an f-string to use lambdas (cc555e1)
- Use
list
over useless lambda in default_factories (930fa46) - Fix some pytest ruff warning (b2bff02)
- Fix some flake8-return warnings (bea720d)
- Simplify some code (9403f72)
- Fix some PIE810 errors (59848e2)
- Fix some mypy errors (9356b32)
- Add a copy of remote example library (d0b2ca5)
- Enable pytest logging (bf07425)
- Remove Remote library references (2ba0edd)
- Run discovery tests in thread (5fe0f97)
- Run coroutines in ThreadPoolExecutor (e4325f1)
- Disable logging (b6e59b5)
- Let collect data in languages server test run in his own thread (327b122)
- Make regtests for rf tests version dependend (fe69626)
0.25.1 - 2023-01-24
- vscode: In long test runs suites with failed tests are still marked as running even though they are already finished (942addf)
- Add
type
parameter to end_output_group (299658f)
0.25.0 - 2023-01-24
- debugger: New setting for
outputTimestamps
in launch and workspace configuration to enable/disable timestamps in debug console (e3ed581)
0.24.4 - 2023-01-23
- debugger: Show error/warning messages of python logger in debug console (665a3ff)
0.24.3 - 2023-01-23
- Set env and pythonpath erlier in lifecycle to prevent that sometime analyses fails because of python path is not correct (4183391)
0.24.2 - 2023-01-20
- robotlangserver: Retun correct robot framework version test (e786b76)
0.24.1 - 2023-01-20
-
robotlangserver: Robot version string is incorrectly parsed if version has no patch (d1afe4d)
correct can't get namespace diagnostics ''>=' not supported between instances of 'NoneType' and 'int'' sometimes happens
-
Start diagnostics only when the language server is fully initialized (d2bd3db)
0.24.0 - 2023-01-16
- robotlangserver: Create undefined keywords in the same file (c607c3f)
0.23.0 - 2023-01-13
- robotlangserver: Remove possible deadlock in completion (3d17699)
- robotlangserver: Highlight named args in library imports (63b93af)
0.22.1 - 2023-01-13
- robotlangserver: Generating documentation view with parameters that contains .py at the at does not work (8210bd9)
- robotlangserver: Resolving imports with arguments in diffent files and folders but with same string representation ie. ${curdir}/blah.py now works correctly (8c0517d)
0.22.0 - 2023-01-12
- Add onEnter rule to split a long line closes #78 (3efe416)
0.21.4 - 2023-01-11
- robotlangserver: Remove possible deadlock in Namespace initialization (27d781c)
0.21.3 - 2023-01-10
- robotlangserver: If a lock takes to long, try to cancel the lock (75e9d66)
0.21.2 - 2023-01-10
- Use markdownDescription in settings and launch configurations where needed (229a4a6)
-
Massive overall speed improvements (aee36d7)
Mainly from changing locks from async.Lock to threading.Lock. Extra: more timing statistics in log output
- Remove unneeded code (a92db4d)
0.21.1 - 2023-01-07
- Caching of variable imports (9d70610)
0.21.0 - 2023-01-07
-
robotlangserver: Loading documents hardened (eab71f8)
Invalid document don't break loading, initializing and analysing documents and discovering tests
-
robotlangserver: Speedup analyser (228ae4e)
-
Generating keyword specs for keywords with empty lineno (60d76aa)
-
Try to handle unknow documents as .robot files to support resources as .txt or .tsv files (4fed028)
- New setting
robotcode.analysis.cache.ignoredLibraries
to define which libraries should never be cached (5087c91)
0.20.0 - 2023-01-06
-
robotlangserver: Ignore parsing errors in test discovery (470723b)
If a file is not valid, i.e. not in UTF-8 format, test discovery does not stop, but an error is written in the output
-
vscode-testexplorer: Correctly combine args and paths in debug configurations (4b7e7d5)
-
Speedup loading and analysing tests (9989edf)
Instead of waiting for diagnostics load and analyse documents one by one, load first the documents and then start analysing and discovering in different tasks/threads
-
debugger: Add
include
andexclude
properties to launch configurations (f4681eb)see --include and --exclude arguments from robot
-
robotlangserver: Show keyword tags in keyword documentation (c82b60b)
-
robotlangserver: Support for robot:private keywords for RF>6.0.0 (e24603f)
Show warnings if you use a private keyword and prioritize not private keywords over private keywords
-
robotlangserver: Implement embedded keyword precedence for RF 6.0, this also speedups keyword analysing (f975be8)
- debugger: Move debugger.modifiers one level higher to shorten the commandline (eea384d)
- robotlangserver: Better error messages if converting from json to dataclasses (29959ea)
0.19.1 - 2023-01-05
- debugger: Use default target if there is no target specified in launch config with purpose test (f633cc5)
0.19.0 - 2023-01-04
- robotlangserver: Don't report load workspace progress if progressmode is off (6dca5e0)
-
debugger: Possibility to disable the target
.
in a robotcode launch configurations withnull
, to append your own targets inargs
(42e528d) -
robotlangserver: New setting
.analysis.cache.saveLocation
where you can specify the location where robotcode saves cached data (22526e5) -
New command
Clear Cache and Restart Language Servers
(a2ffdc6)Clears all cached data i.e library docs and restarts the language servers.
0.18.0 - 2022-12-15
- robotlangserver: Update libraries when editing not work (9adc6c8)
-
robotlangserver: Speedup loading of class and module libraries (975661c)
implement a caching mechanism to load and analyse libraries only once or update the cache if the library is changed
0.17.3 - 2022-12-11
- vscode: Some tweaks for better highlightning (40b7512)
- vscode: Highlightning comments in text mate mode (1c1cb9a)
-
robotlangserver: Refactor some unnecessary async/await methods (0f8c134)
-
robotlangserver: Speedup keyword completion (6bcaa22)
Recalcution of useable keywords is only called if imports changed, this should speedup showing the completion window for keywords
-
all: Switching to pytest-regtest (c2d8384)
Switching to pytest-regtest brings massive speed to regression test
-
all: Fix tests for python 3.11 (07d5101)
0.17.2 - 2022-12-09
- vscode: Enhance tmLanguage to support thing like variables, assignments,... better (ec3fce0)
0.17.0 - 2022-12-08
-
vscode: Add configuration defaults for
editor.tokenColorCustomizations
andeditor.semanticTokenColorCustomizations
(ce927d9)This leads to better syntax highlighting in Robotframework files.
0.16.0 - 2022-12-08
- robotlangserver: Try to hover, goto, ... for keyword with variables in names (ec2c444)
- vscode: Capitalize commands categories (b048ca4)
-
robotlangserver: Highlight embedded arguments (d8b23e4)
-
robotlangserver: Optimization of the analysis of keywords with embedded arguments (0995a2e)
-
robotlangserver: Highlight dictionary keys and values with different colors (9596540)
-
vscode: Add new command
Restart Language Server
(2b4c9c6)If the extension hangs, you can try to restart only the language server of robot code instead of restart or reload vscode
-
vscode: Provide better coloring in the debug console. (c5de757)
0.15.0 - 2022-12-07
-
Debugger now also supports dictionary expressions (f80cbd9)
given this example:
*** Variables *** &{DICTIONARY_EXAMPLE1} output_dir=${OUTPUT DIR} ... AA=${DUT_IP_ADDRESS_1} ... ZZ=${{{1:2, 3:4}}}
now you can also evaluate expressions like
${DICTIONARY_EXAMPLE1}[output_dir]
in the debugger.
- Simplifying implementation of discovering of tests (c8abfae)
- Add tests for workspace discovery (61f82ce)