Impact Analysis is a Visual Studio Code extension powered by ARCAN Impact Analysis, designed to identify and predict the propagation of changes within your project. It helps developers understand which files might be affected by recent changes, providing visual cues for faster decision-making and debugging.
Showcase
Features
Sign In / Sign Out: Authenticate and manage your session.
Predict Impact: Predict which files are most likely to be impacted by changes in your repository.
File Decorations: Visual decorations based on predicted changes to provide an easy overview of the most impacted files.
Configuration: Configure service URL, model ID, and maximum rank for predicted files.
How to Use
Prepare the Service
Make sure your service is running.
Access your Impact Analysis service.
Create a project.
Add all the repositories you want insights on.
Train the model.
Save the run model ID—it will be your modelId.
Prepare the Extension
Configure your experience by populating the configuration values:
Set the serviceUrl to the location where your Impact Analysis service is running.
Open a repository, or a folder containing one or multiple repositories used in model training.
Sign in to your Impact Analysis workspace using the Sign In command and edit one or more of your files.
Stage the files using Git.
Request a prediction from Impact Analysis using the Predict Impact command and select your project.
Improve your code based on the predictions.
Requirements
VS Code: 1.98.0 or higher
Node.js: Required to run the extension.
Git Extension: Required for interacting with Git repositories.
Extension Settings
You can configure the following settings for your extension:
impact.serviceUrl: The URL of the Impact Analysis service. Default: http://localhost:8080.
impact.maxRank: The number of top impacted files to rank. Default: 10.
impact.customTreeView: Enable or disable the custom tree view for the top impacted files. Default: true.
impact.displayDecorator: Show file decorations based on predicted impacts. Default: true.
impact.unfoldUnpredicted: Unfold unpredicted files in the decoration view. Default: false.
Commands
This extension provides the following commands:
Sign In: Sign in to the Impact Analysis service.
Command: impact.signIn
Sign Out: Sign out from the Impact Analysis service.
Command: impact.signOut
Predict Impact: Predict the impact of changes in your repository.
Command: impact.predictImpact
Known Issues
Consistent Repo Name Required: The repository name in the model should match the root folder name in the editor.
No Unstaged File Option: The extension requires files to be staged to work. Future versions may support unstaged files.
No Persistence of Results: Prediction results are cleared when the editor is closed.
Limited Multi-Repo Support: Multi-repo support works only if the workspace directory contains the repositories. Otherwise, the system will display hypothetical paths in the custom tree view.
Latest Run Only: Only the latest analysis for a project is available.
Release Notes
0.0.1
Initial release with sign-in/sign-out functionality and basic impact prediction capabilities.