NOTE: You will need an API key to use this plugin. see the API section
Short1(ChatGPT)
Short2(Writesonic & YouChat)
Long
This Plugin Supports the following AI Services:
NOTE: Other AI Services(non-ChatGPT) are enabled in Rad Studio 10.2 and above!
- It's compatible with Delphi 10.1 Berlin and later versions.
- Uses XSuperObject library which is included in the project files. you can also find the latest version here
- Settings are stored in registry which can be found here:
Computer\HKEY_CURRENT_USER\Software\ChatGPTWizard
Open the project, right-click on the project in the project manager, build, and install.
You can use the ChatGPT menu from the IDE's main menu directly to ask questions and get the answer. Click on the newly added ChatGPT menu on the IDE(or press Ctrl+Shidt+Alt+C) to open the wizard, type the question and press the Ask button(or Ctrl+Enter).
Two New Tabs has been added to get separate results for Writesonic and YouChat.
So now you are able to get multiple different answers based on any question, compare, merge and get the best quality and accuracy for your code.
"Other AI Services" Tab is responsible for setting up Other AI service's tokens including Writesonic's credentials.
If you need to use the ChatGPT inside the editor you need to type a question directly inside the code editor and surround it with cpt: at the beginning and :cpt at the end of the question then press Ctrl+Shift+Alt+A or simply select "Ask" from the editor's context menu by right-clicking on the selected text.
Usage Scenario for Inline Questions
Open a new vcl applicatiopn project, add a new unit and remove all the code from it! and type the following line,
select all and press Ctrl+Shift+Alt+A.
cpt:Create a full unit in Delphi including a class to create an XML file.:cpt
Use the "ChatGPT Dockable" menu from the main menu to show the dockable form and try to dock the form to the left or right side panel of the IDE, and enjoy with your new Google killer assistant!
Using the class view you have your class list with some functionalitis in a popup menu.
It is also possible to use your custom command based on the selected class in the TreeView, in this case @Class will represent the selected class
in your custom command, if you don's use @Class the selected class' source will be attached to the end of your command, just pay attention there will be
some limitations, because at the moment it's not possible to send thousands of lines through the API request.
Please mind that it is best to use this feature for small classes. due to API limitation you cannot send a class with several thousand lines of code in a question.
History is available if you enable it in the setting form, it's using SQLite as a simple file base database.
You can find an empty database in Resource\DB that named "History.sdb", copy this file to any place in the disk and address to the folder in the setting.
Right click on the History grid and check search item to the search bar appears, it's not visibile by default to save some space, finally type the keyword to search and filter, there are two checkboxes as extra options like case sensitive and fuzzy match string search.
This issue can be fixed if you put SSL libraries(can find them in the resource folder) alongside the bds.exe or in Bpl folder(mine is C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl)
or you can use a build event on the project's properties to copy these two class libraries if they don't exist.
Another thing is, You don't have to do that because it will work fine when you open any project in the IDE before using this plugin! I'm not sure that this behavior depends on the installed components or libraries or if the IDE loads SSL libraries at the moment you open even a new application. although using the plugin when you are working on a project seems more useful anyways.
Presentation: ChatGPT wizard.pptx
Special Thanks to
Do not hesitate to star! if you like it take a leap of faith, and hit that 'Star' button, also watch the repository to stay tune with the latest updates, debugs, features, and etc. All PRs, disscutions, and issues are welcome but please read check the closed issues before opening a new one to avoid duplicates!
Good luck!















