Delphi 10.x (10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney)
Delphi 11.x Alexandria
Delphi 12.x Athens
If you are using Delphi XE2 to XE8, there is a limited version of this plug-in available, which has the main functionality. Please have a look at that version here.
As a user of the API key, it is important to understand that you are solely responsible for all content generated through the prompt. Please note that there is no text moderation with this plugin, and your prompt will be sent directly to the AI Server through the API. While mistakes can happen while using browsers, mobile apps, or this plugin, it remains the responsibility of the user to ensure the accuracy and appropriateness of the content generated(prompts).
The plugin serves as a bridge between the user’s IDE and the AI Server, enabling faster and smarter development. Please note that the plugin is intended for programming purposes only, and users should use it accordingly. For more information, please refer to the Terms of Use defined by OpenAI: Terms of use
This Plugin Supports the following AI Services:
NOTE: ChatGPT is working with Rad Studio 10.1 and above but Other(non-ChatGPT) AI Services are enabled in Rad Studio 10.2 and above!
Computer\HKEY_CURRENT_USER\Software\ChatGPTWizard
2- Delphinus package manager - you can install Delphinus package manager and install ChatGPTWizard there. (Delphinus-Support)
3- Direct installation - Open the project in Delphi, right-click on the project node 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 can 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
application 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!
Context Menu for Selected text or a block of code. The Result will be inserted after the selected text as a multi-line comment between two brackets {}
Options
Using the class view you have your class list with some functionalities 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’t 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 note that it is best to use this feature for small classes. due to API limitations, 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-based 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 it to the folder in the setting.
Right-click on the History grid and check the search item in the search bar that appears, it’s not visible 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 the 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 tuned with the latest updates, debugs, features, etc. All PRs, discussions, and issues are welcome but please read and check the closed issues before opening a new one to avoid duplicates!
Good luck!