|
2 | 2 |
|
3 | 3 | All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
|
4 | 4 |
|
| 5 | +## [0.84.0](https://github.com/robotcodedev/robotcode/compare/v0.83.3..v0.84.0) - 2024-08-08 |
| 6 | + |
| 7 | +### Bug Fixes |
| 8 | + |
| 9 | +- **debugger:** Corrected handling of local variables in variables inspector ([12ecdd4](https://github.com/robotcodedev/robotcode/commit/12ecdd43376484a40b6cdeb2bca752bc09178fad)) |
| 10 | +- **debugger:** Corrected start debuggin in internalConsole ([f3fbf20](https://github.com/robotcodedev/robotcode/commit/f3fbf20d01d75264d86c0af4575e98b0cfa7ec5b)) |
| 11 | +- **robot:** Use casefold for normalizing and remove some local imports in VariableMatcher ([04e12a7](https://github.com/robotcodedev/robotcode/commit/04e12a7ee262177f5bede595baa14e283c3ef4e7)) |
| 12 | +- **vscode:** Remove `attachPython` from default `launch.json` config ([8052f8d](https://github.com/robotcodedev/robotcode/commit/8052f8dfc4e83a8d7e26ef8049c3631881e0dd34)) |
| 13 | +- **vscode:** Only test cases are reported as queued, started and completed ([f68b8e3](https://github.com/robotcodedev/robotcode/commit/f68b8e34161b4ec977fcae04d891399a53f951fc)) |
| 14 | + |
| 15 | + this corrects the number of successful/executed test cases in the upper area of the test explorer |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +### Features |
| 20 | + |
| 21 | +- **debugger:** Added support for disabling the hiding of debugger threads/tasks. ([049c905](https://github.com/robotcodedev/robotcode/commit/049c90517d36035e3bc86d0271e219e744c5dc7c)) |
| 22 | + |
| 23 | + 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. |
| 24 | + |
| 25 | +- Diagnostics modifiers ([223ec13](https://github.com/robotcodedev/robotcode/commit/223ec134a9a947db50aebba0d10ad290ab3bffb5)) |
| 26 | + |
| 27 | + |
| 28 | + 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)*]*`. |
| 29 | + |
| 30 | + **Allowed actions:** |
| 31 | + |
| 32 | + - `ignore`: Ignore specified diagnostic codes. |
| 33 | + - `hint`: Treat specified diagnostic codes as hints. |
| 34 | + - `warn`: Treat specified diagnostic codes as warnings. |
| 35 | + - `error`: Treat specified diagnostic codes as errors. |
| 36 | + - `reset`: Reset the diagnostic codes to their default state. |
| 37 | + |
| 38 | + **This implementation allows for the following:** |
| 39 | + |
| 40 | + - Custom actions to be performed on specified diagnostic codes. |
| 41 | + - Enhanced control over which diagnostic messages are shown, ignored, or modified. |
| 42 | + - Flexibility in managing diagnostic outputs for better code quality and debugging experience. |
| 43 | + |
| 44 | + **Usage details:** |
| 45 | + |
| 46 | + - A diagnostic modifier can be placed at the end of a line. It modifies only the errors occurring in that line. |
| 47 | + - A modifier can be placed at the very beginning of a line. It applies from that line to the end of the file. |
| 48 | + - If a modifier is within a block (e.g., Testcase, Keyword, IF, FOR) and is indented, it applies only to the current block. |
| 49 | + |
| 50 | + **Example usage:** |
| 51 | + |
| 52 | + - `# robotcode: ignore[variable-not-found, keyword-not-found]` - Ignores the errors for variable not found and keyword not found. |
| 53 | + - `# robotcode: hint[MultipleKeywords]` - Treats the MultipleKeywords error as a hint. |
| 54 | + - `# robotcode: warn[variable-not-found]` - Treats the variable-not-found error as a warning. |
| 55 | + - `# robotcode: error[keyword-not-found]` - Treats the keyword-not-found error as an error. |
| 56 | + - `# robotcode: reset[MultipleKeywords]` - Resets the MultipleKeywords error to its default state. |
| 57 | + - `# robotcode: ignore` - Ignores all diagnostic messages . |
| 58 | + - `# robotcode: reset` - Resets all diagnostic messages to their default. |
| 59 | + |
| 60 | + **Example scenarios:** |
| 61 | + |
| 62 | + *Modifier at the end of a line:* |
| 63 | + |
| 64 | + ```robot |
| 65 | + *** Keywords *** |
| 66 | + Keyword Name |
| 67 | + Log ${arg1} # robotcode: ignore[variable-not-found] |
| 68 | + ``` |
| 69 | + This modifier will ignore the `variable-not-found` error for the `Log` keyword in this line only. |
| 70 | + |
| 71 | + *Modifier at the beginning of a line:* |
| 72 | + |
| 73 | + ```robot |
| 74 | + # robotcode: ignore[keyword-not-found] |
| 75 | + *** Test Cases *** |
| 76 | + Example Test |
| 77 | + Log Hello |
| 78 | + Some Undefined Keyword |
| 79 | + ``` |
| 80 | + This modifier will ignore `keyword-not-found` errors from the point it is declared to the end of the file. |
| 81 | + |
| 82 | + *Modifier within a block:* |
| 83 | + |
| 84 | + ```robot |
| 85 | + *** Keywords *** |
| 86 | + Example Keyword |
| 87 | + # robotcode: warn[variable-not-found] |
| 88 | + Log ${arg1} |
| 89 | + Another Keyword |
| 90 | + ``` |
| 91 | + This modifier will treat `variable-not-found` errors as warnings within the `Example Keyword` block. |
| 92 | + |
| 93 | + *Modifier using reset:* |
| 94 | + |
| 95 | + ```robot |
| 96 | + # robotcode: error[variable-not-found] |
| 97 | + *** Test Cases *** |
| 98 | + Example Test |
| 99 | + Log ${undefined_variable} |
| 100 | + # robotcode: reset[variable-not-found] |
| 101 | + Log ${undefined_variable} |
| 102 | + ``` |
| 103 | + 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. |
| 104 | + |
| 105 | + *Modifier to ignore all diagnostic messages:* |
| 106 | + |
| 107 | + ```robot |
| 108 | + # robotcode: ignore |
| 109 | + *** Test Cases *** |
| 110 | + Example Test |
| 111 | + Log ${undefined_variable} |
| 112 | + Some Undefined Keyword |
| 113 | + ``` |
| 114 | + This modifier will ignore all diagnostic messages from the point it is declared to the end of the file. |
| 115 | + |
| 116 | + *Modifier to reset all diagnostic messages:* |
| 117 | + |
| 118 | + ```robot |
| 119 | + # robotcode: ignore |
| 120 | + *** Test Cases *** |
| 121 | + Example Test |
| 122 | + Log ${undefined_variable} |
| 123 | + # robotcode: reset |
| 124 | + Another Test |
| 125 | + Some Undefined Keyword |
| 126 | + ``` |
| 127 | + In this example, all diagnostic messages are ignored until the `reset` modifier, which returns all messages to their default state from that point onward. |
| 128 | + |
| 129 | + |
5 | 130 | ## [0.83.3](https://github.com/robotcodedev/robotcode/compare/v0.83.2..v0.83.3) - 2024-06-20
|
6 | 131 |
|
7 | 132 | ### Bug Fixes
|
|
0 commit comments