Skip to content

Releases: robotcodedev/robotcode

v0.85.0

18 Aug 21:39
v0.85.0
721bcdc
Compare
Choose a tag to compare

Bug Fixes

  • langserver: Corrected coloring of test case/keyword names if names contains line continuations ... (a848a93)

Documentation

Features

  • langserver: Send full completion info if language client does not support completionItem/resolve (4cf0127)

v0.84.0

08 Aug 00:35
v0.84.0
23ec89e
Compare
Choose a tag to compare

Bug Fixes

  • debugger: Corrected handling of local variables in variables inspector (12ecdd4)

  • debugger: Corrected start debuggin in internalConsole (f3fbf20)

  • robot: Use casefold for normalizing and remove some local imports in VariableMatcher (04e12a7)

  • vscode: Remove attachPython from default launch.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

Features

  • 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 (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 the Log 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 the Example 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 the Another 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.

v0.83.3

20 Jun 18:39
v0.83.3
5a846ab
Compare
Choose a tag to compare

Bug Fixes

  • config: Correct handling of string expression at building the command line in config model (0a85e3d)

v0.83.2

20 Jun 16:36
v0.83.2
40f0460
Compare
Choose a tag to compare

Bug Fixes

  • vscode: Optimize tmLanguage definition (166cd25)
  • vscode: Some small corrections for in (semantic) highlightning (43321f6)

Documentation

v0.83.1

10 Jun 21:41
v0.83.1
9e57c97
Compare
Choose a tag to compare

Bug Fixes

  • 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)

Documentation

  • 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)

Testing

  • Enable pytest-rerunfailures for unittests (3b6e0ce)
  • Fix tests for Robot Framework version 7.0.1 (420fee4)

v0.83.0

16 May 21:29
v0.83.0
9a75bb2
Compare
Choose a tag to compare

Bug Fixes

  • debugger: Fix type annotations for python 3.8 (d2cc421)

Features

  • vscode: Support for highlighning robot code in markdown code blocks (b9de061)

    use the at defining the language in a codeblock you can use robot or robotframework as specifier

v0.82.3

12 May 20:44
v0.82.3
0a48973
Compare
Choose a tag to compare

Bug Fixes

  • analyse: Allow local variables in [Teardown] (5bab97c)

Testing

v0.82.2

10 May 23:30
v0.82.2
23df33c
Compare
Choose a tag to compare

Bug Fixes

  • analyse: Correct handling of keyword arguments in all other keyword settings, regardless of the order of the settings. (62f9544)

v0.82.1

09 May 20:40
v0.82.1
81070ce
Compare
Choose a tag to compare

Bug Fixes

  • 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 the name setting robot.toml (6f5c719)

Refactor

  • debugger: Some code simplifications (bc97744)

v0.82.0

05 May 22:08
v0.82.0
3c010d4
Compare
Choose a tag to compare

Features

  • 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