From 1d75edafa06fc4d730836452b590a9956f65ae3b Mon Sep 17 00:00:00 2001 From: jublankeviadee Date: Mon, 9 Feb 2026 10:49:24 +0100 Subject: [PATCH 1/4] chore: publishing adjustments --- packages/roboview/README.md | 207 +++++++++++++++++++++++++++++++ packages/roboview/pyproject.toml | 4 + pyproject.toml | 2 +- 3 files changed, 212 insertions(+), 1 deletion(-) diff --git a/packages/roboview/README.md b/packages/roboview/README.md index e69de29..4742e8c 100644 --- a/packages/roboview/README.md +++ b/packages/roboview/README.md @@ -0,0 +1,207 @@ +# RoboView - Keyword Management in Robot Framework +![banner](./static/github_banner.png) +[![PyPI version](https://img.shields.io/pypi/v/robotframework-roboview.svg)](https://pypi.org/project/robotframework-roboview/) +![license](https://img.shields.io/badge/license-Apache--2.0-green) +![python](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue) + + +RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase. + +--- + +

โœจ Key Features

+ +- ๐Ÿ—‚๏ธ **Workspace:** Automatically selects your current workspace project and generates comprehensive overviews. +- ๐Ÿ“ˆ **Dashboard:** Get key performance indicators and a general overview of your robot framework project. +- ๐Ÿ“ **Keyword Overview & Filtering:** Instantly view all keywords of a selected file, filter by type (initialized, called). +- โ“ **Global Filter:** Searches your files for any keywords lacking documentation, unused keywords or faulty keywords with cycle calling. +- ๐Ÿ“– **Detailed Keyword Insights:** Select any keyword to see where it is defined, how often it is used (both in its own file and across the project), and view its documentation. +- ๐Ÿงฉ **Similarity Detection:** Get information about similar or potentially duplicate keywords through similarity analysis of keyword source code. +- ๐Ÿงญ **Code Navigation:** Jump straight to a keywordโ€™s definition with a simple Ctrl+Click. +- ๐Ÿ›ก๏ธ **Robocop Integration:** Runs Robocop directly from within RoboView, inspect lint results in context, and use your custom configuration file (e.g. robocop.toml) out of the box. +- ๐Ÿ” **Search & Sorting:** Quickly find keywords using the search bar and sort them by name or usage statistics. + +--- + +

โš™๏ธ Installation Guide

+ +RoboView consists of two parts: a **backend** (Python package) and a **frontend** (Visual Studio Code extension). + +### โœ… Backend + +Install the backend via **pip**: + +```bash +pip install robotframework-roboview +``` + +### โœ… Frontend + +The Frontend is available as a Visual Studio Code extension on the Marketplace โ€“ install it in seconds from the VS Code Extensions view. +1. Open **Visual Studio Code**. +2. Go to the **Extensions** view (`Ctrl+Shift+X` / `Cmd+Shift+X`). +3. Search for **"RoboView"**. +4. Install the RoboView extension by *viadee Unternehmensberatung AG*. + +--- + +

๐Ÿ› ๏ธ GitHub

+ +You can find the RoboView source code and issue tracker on GitHub: + +๐Ÿ‘‰ **https://github.com/viadee/robotframework-roboview** + +--- + +

๐Ÿ“ Notes and Recommendations

+ +- For Robocop to automatically detect your configuration, name the file **`robocop.toml`**, **`robot.toml`** or integrate in **`pyproject.toml`**. + If you cannot change the filename in your project, you can instead set the environment variable **`ROBOCOP_CONFIG_PATH`** to the full path of your config file. +- If the Robocop configuration file is outdated or cannot be parsed, RoboView falls back to **Robocopโ€™s default settings**. The same applies if no configuration file is found. +- RoboView follows your IDEโ€™s color theme. We recommend using a **dark theme**, as text in light themes can be harder to read - but feel free to experiment and choose what works best for you. + +--- + +

๐Ÿ” How to navigate RoboView

+ +In the following three sections, we will dive deeper into how to navigate RoboView: where to find the features and understand the terminology we use. We start with the dashboard, then look at the keyword usage overview, and finally the Robocop integration. +You can switch between these views using the buttons in the top-right corner of RoboView: Dashboard, Keyword Usage, and Robocop. + +

๐Ÿ“‹ 1) Dashboard

+ +The **Dashboard** gives you a highโ€‘level overview of the selected Robot Framework project and its overall health. + + +

+ keyword_list +

+

+ keyword_list +

+ +
+ +At the top of the dashboard youโ€™ll see the **Selected Project**. RoboView automatically detects your current workspace and shows: +- The **project name** +- The **absolute path** to the project root + +This ensures all metrics are calculated against the correct `.robot` and `.resource` files. + +### KPIs + +The **KPIs** section summarizes the most important metrics of your test suite: +- **User Defined Keywords**: Total number of custom keywords found in your project. +- **Keyword Reuse Rate**: Percentage of keywords that are used more than once. A higher value indicates better reuse and less duplication/redundancy. +- **Unused Keywords**: Number of keywords that are never called anywhere in the project. Use this to identify dead code and candidates for cleanup. +- **Robocop Issues**: Total number of Robocop violations detected across the project. This helps you quickly assess structural and style problems in your tests. +- **Documentation Coverage**: Percentage of keywords that contain a `[Documentation]` section. A higher value means your test suite is better documented and easier to maintain. +- **Robot Framework Files**: Total number of `.robot` and `.resource` files that were analyzed. Use the dashboard to quickly spot problematic areas (e.g. many unused keywords, low documentation coverage, or a high number of Robocop issues) and decide where to focus your refactoring or cleanup efforts first. + + +

๐ŸŒณ 2) Keyword Overview

+ +

+ Keyword Overview Layout +

+

+[ Left: File Navigation & Keyword Filters ] [ Middle: Keyword List ] [ Right: Keyword Details ] +

+ +

+ graph_view +

+ +
+ +

โฌ…๏ธ Left Side โ€“ Navigation & Filters

+ +- File Selection: At the top, a dropdown lets you select a file. The current VS Code workspace is used as root, and all + .robot and .resource files are available. +- Type Filter: Choose which group of keywords to display for the selected file: + - All Keywords: Shows every keyword that is either defined in or used by the selected file. + - Initialized Keywords: Only keywords that are defined/implemented in the selected file. + - Called Keywords: Only keywords that are used in the selected file but defined elsewhere. +- Global Filter: Jump directly to common problem areas across the entire project: + - Keywords without Documentation: Keywords that are missing documentation. + - Unused Keywords: Keywords that are never called in any analyzed file. + - Keywords with Calling Cycles: Keywords that participate in cyclic calls (A calls B, B calls A, etc.), which can indicate design or maintainability issues. + +
+ +

๐Ÿ“Š Middle โ€“ Keyword List

+ +The middle section lists all keywords found in the selected file and shows key information about each of them: + +- Origin indicator: A color-coded label to the left of the keyword name shows where the keyword comes from: + - U: User-defined keyword. + - E: External keyword (e.g. from BuiltIn or libraries like Browser). +- Definition location: The file in which the keyword is defined. +- File-local usage count: How often the keyword is used (called) in the selected file. +- Project-wide usage count: How often the keyword is used across all .robot and .resource files in the current project. + +
+ +

โžก๏ธ Right Side โ€“ Keyword Details

+ +When you select a keyword (by clicking a row in the middle table), the right panel shows detailed information: + +- Documentation: The keywordโ€™s documentation as defined in the source code. +- Usage across files: In which .robot and .resource files the keyword is used, and how often in each file. +- Similarity analysis: A list of up to five keywords that are most similar to the selected one, based on its name and source code using term-frequency-based similarity. + +
+ +--- + +

๐Ÿ›ก๏ธ 3) Robocop

+ +The **Robocop** view integrates the `https://robocop.readthedocs.io/` linter directly into RoboView, so you can spot and fix structural and style issues in your Robot Framework tests without leaving VS Code. + +

+ Robocop Issues Layout +

+

+[ Left: Error Overview ] [ Middle: Error List ] [ Right: Error Details ] + + +

+ robocop_issues +

+ + +
+ +### How it works + +- **Left: Error Overview** + The left panel shows a compact **overview of all detected issues**, for example: + - Total number of Robocop findings + - Issues grouped by **rule** or **category** + - A quick way to see which types of problems are most common + This helps you understand the overall state of your project at a glance. +- **Middle: Error List** + The middle panel contains the **list of individual Robocop issues**. + Each entry typically shows: + - The **file** where the issue was found + - The **rule id** and short **message** + - The **line** number in the file + + You can scroll through this list and select a specific issue to inspect it in detail. + +- **Right: Error Details** + The right panel displays **details for the currently selected issue**, including: + - The full Robocop message + - The rule id and its description + - The file and line information + - Additional context that helps you understand why this issue was reported + +
+ +--- + +

๐Ÿ”ฎ Outlook

+ +RoboView is an actively evolving project. โœจ +Weโ€™re continuously adding new features, polishing existing workflows, and exploring fresh ideas to make working with Robot Framework even more enjoyable. ๐Ÿ’ก + +Weโ€™re happy to have you along for the journey โ€“ stay tuned for new releases and improvements! ๐Ÿš€ \ No newline at end of file diff --git a/packages/roboview/pyproject.toml b/packages/roboview/pyproject.toml index 26b1dff..a7f29e2 100644 --- a/packages/roboview/pyproject.toml +++ b/packages/roboview/pyproject.toml @@ -6,6 +6,10 @@ license = "Apache 2.0" authors = ["viadee Unternehmensberatung AG"] readme = "README.md" +packages = [ + { include = "roboview" } +] + [tool.poetry.dependencies] python = ">=3.10,<3.14" robotframework = "^7.2.2" diff --git a/pyproject.toml b/pyproject.toml index f5cff9f..4c8a257 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "robotframework-roboview" +name = "robotframework-roboview-meta" version = "0.0.1" description = "RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase." license = "Apache 2.0" From a2d5450fb9c30ba9805b108ab583c30d85611b58 Mon Sep 17 00:00:00 2001 From: jublankeviadee Date: Mon, 9 Feb 2026 11:39:06 +0100 Subject: [PATCH 2/4] chore: publishing adjustments --- packages/roboview/README.md | 22 +++++++++++----------- packages/roboview/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/roboview/README.md b/packages/roboview/README.md index 4742e8c..cf1b67c 100644 --- a/packages/roboview/README.md +++ b/packages/roboview/README.md @@ -9,7 +9,7 @@ RoboView is a Visual Studio Code extension designed to help you manage keywords --- -

โœจ Key Features

+## โœจ Key Features - ๐Ÿ—‚๏ธ **Workspace:** Automatically selects your current workspace project and generates comprehensive overviews. - ๐Ÿ“ˆ **Dashboard:** Get key performance indicators and a general overview of your robot framework project. @@ -23,7 +23,7 @@ RoboView is a Visual Studio Code extension designed to help you manage keywords --- -

โš™๏ธ Installation Guide

+## โš™๏ธ Installation Guide RoboView consists of two parts: a **backend** (Python package) and a **frontend** (Visual Studio Code extension). @@ -45,7 +45,7 @@ The Frontend is available as a Visual Studio Code extension on the Marketplace --- -

๐Ÿ› ๏ธ GitHub

+## ๐Ÿ› ๏ธ GitHub You can find the RoboView source code and issue tracker on GitHub: @@ -53,7 +53,7 @@ You can find the RoboView source code and issue tracker on GitHub: --- -

๐Ÿ“ Notes and Recommendations

+## ๐Ÿ“ Notes and Recommendations - For Robocop to automatically detect your configuration, name the file **`robocop.toml`**, **`robot.toml`** or integrate in **`pyproject.toml`**. If you cannot change the filename in your project, you can instead set the environment variable **`ROBOCOP_CONFIG_PATH`** to the full path of your config file. @@ -62,12 +62,12 @@ You can find the RoboView source code and issue tracker on GitHub: --- -

๐Ÿ” How to navigate RoboView

+## ๐Ÿ” How to navigate RoboView In the following three sections, we will dive deeper into how to navigate RoboView: where to find the features and understand the terminology we use. We start with the dashboard, then look at the keyword usage overview, and finally the Robocop integration. You can switch between these views using the buttons in the top-right corner of RoboView: Dashboard, Keyword Usage, and Robocop. -

๐Ÿ“‹ 1) Dashboard

+## ๐Ÿ“‹ 1) Dashboard The **Dashboard** gives you a highโ€‘level overview of the selected Robot Framework project and its overall health. @@ -98,7 +98,7 @@ The **KPIs** section summarizes the most important metrics of your test suite: - **Robot Framework Files**: Total number of `.robot` and `.resource` files that were analyzed. Use the dashboard to quickly spot problematic areas (e.g. many unused keywords, low documentation coverage, or a high number of Robocop issues) and decide where to focus your refactoring or cleanup efforts first. -

๐ŸŒณ 2) Keyword Overview

+## ๐ŸŒณ 2) Keyword Overview

Keyword Overview Layout @@ -113,7 +113,7 @@ The **KPIs** section summarizes the most important metrics of your test suite:
-

โฌ…๏ธ Left Side โ€“ Navigation & Filters

+### โฌ…๏ธ Left Side โ€“ Navigation & Filters - File Selection: At the top, a dropdown lets you select a file. The current VS Code workspace is used as root, and all .robot and .resource files are available. @@ -128,7 +128,7 @@ The **KPIs** section summarizes the most important metrics of your test suite:
-

๐Ÿ“Š Middle โ€“ Keyword List

+### ๐Ÿ“Š Middle โ€“ Keyword List The middle section lists all keywords found in the selected file and shows key information about each of them: @@ -141,7 +141,7 @@ The middle section lists all keywords found in the selected file and shows key i
-

โžก๏ธ Right Side โ€“ Keyword Details

+### โžก๏ธ Right Side โ€“ Keyword Details When you select a keyword (by clicking a row in the middle table), the right panel shows detailed information: @@ -199,7 +199,7 @@ The **Robocop** view integrates the `https://robocop.readthedocs.io/` linter dir --- -

๐Ÿ”ฎ Outlook

+## ๐Ÿ”ฎ Outlook RoboView is an actively evolving project. โœจ Weโ€™re continuously adding new features, polishing existing workflows, and exploring fresh ideas to make working with Robot Framework even more enjoyable. ๐Ÿ’ก diff --git a/packages/roboview/pyproject.toml b/packages/roboview/pyproject.toml index a7f29e2..aaf6897 100644 --- a/packages/roboview/pyproject.toml +++ b/packages/roboview/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "robotframework-roboview" -version = "0.0.1" +version = "0.0.2" description = "RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase." license = "Apache 2.0" authors = ["viadee Unternehmensberatung AG"] diff --git a/pyproject.toml b/pyproject.toml index 4c8a257..2ce60c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "robotframework-roboview-meta" -version = "0.0.1" +version = "0.0.2" description = "RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase." license = "Apache 2.0" authors = ["viadee Unternehmensberatung AG"] From 7ffb01db92fa58499fdb801497cdeeb19cc02070 Mon Sep 17 00:00:00 2001 From: jublankeviadee Date: Mon, 2 Mar 2026 15:29:59 +0100 Subject: [PATCH 3/4] chore: publishing adjustments --- packages/roboview/pyproject.toml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/roboview/pyproject.toml b/packages/roboview/pyproject.toml index bae36f3..7f2c118 100644 --- a/packages/roboview/pyproject.toml +++ b/packages/roboview/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "robotframework-roboview" -version = "0.0.1" +version = "0.0.3" description = "RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase." license = "Apache 2.0" authors = ["viadee Unternehmensberatung AG"] diff --git a/pyproject.toml b/pyproject.toml index 2ce60c5..209c7b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "robotframework-roboview-meta" -version = "0.0.2" +version = "0.0.3" description = "RoboView is a Visual Studio Code extension designed to help you manage keywords within your Robot Framework projects and improve overall test quality through built-in Robocop integration. Its primary goal is to provide a comprehensive overview of all keywords and their relationships, making it easier to understand and maintain your test automation codebase." license = "Apache 2.0" authors = ["viadee Unternehmensberatung AG"] From 48fc1b8a702baba9d15241afcb6e00360f375b90 Mon Sep 17 00:00:00 2001 From: jublankeviadee Date: Mon, 2 Mar 2026 15:35:14 +0100 Subject: [PATCH 4/4] chore: updated CHANGELOG.md --- CHANGELOG.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5de734c..379de2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,4 +6,21 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how ## [Unreleased] -- Initial release \ No newline at end of file +- Initial release + +## [0.0.3] - 2026-03-02 +### Added +- Fixed suite setup and teardown keywords are now included correctly +- Refactored existing webviews using Shadcn components and applied several visual improvements including: + - Added collapsible sections across all three webviews + - Adjusted font and badge colors + - Implemented table pagination in the main content area + - Ensured VS Code theme compatibility + - Added several tooltips for more information +- Several maintenance improvements and internal enhancements to keep the extension up to date. + - Updated README + - Updated server port from 8000 to 18123 (less used than 8000) + - Updated project dependencies to latest versions + - Refactored keyword similarity without numpy and scikit-learn (backend size is now just around 20 MB instead of 300MB before) + - Added support for additional libraries including all BuiltIn libraries (Collections, DateTime etc.), Appium and Requests + - Migrated to Robocop v8.2.2 (code changes were necessary) \ No newline at end of file