Changes

Improvements

Ported to Python

AntiCopyPaster has been ported to work with Python code on the Pycharm IDE, including both community and ultimate edition. Based on various metrics such as Python keywords, code complexity, coupling and size or an AI model, AntiCopyPasterPython triggers a notification within PyCharm, recommending the extraction of duplicate code into a new method.

Fixed Notifcation Time Delay

With the change to Python, the team has been able to resolve some outstanding issues found in the Java version. One issue arose when notifications appeared despite the fact that they were meant to be delayed based on a time set in the settings menu. We were able to resolve this issue and now notifcations will popup as the user expects based off their settings.

New Features

Highlgihts

Users now have the option to enable a feature in the plugin that highlights the specific code block triggering a refactoring notification. This enhancement aims to provide clearer guidance on what code block is being recommended for refactoring. Users can manually remove these highlights by adjusting the settings, acknowledging the notification, or choosing to ignore it for a customizable duration.

Model setting

Users have the choice between the manual heuristic model or the TensorFlow AI model for evaluating refactoring calls, providing flexibility to suit their preferences and workflow.

New Setting Menu

To go along with the fixes and new features, we have adjusted the settings menu to allow for more user input.