The missing GitHub Copilot, Codeium and ChatGPT Xcode Source Editor Extension
OTHER License
Bot releases are visible (Hide)
Published by intitni over 1 year ago
LazyVGrid
to VStack
(Why?). Big thanks to @timwredwards and @cr2s367067 for helping me locate the bug. I wasn't able to reproduce the bug on 2 of my machines, so I'm not completely certain that it's fixed or that it won't resurface in the future.If the app still freezes, please reply to issue #43, and give 0.8.4 a try. Maybe I made some mistakes again, sigh.
Published by intitni over 1 year ago
Update 1: Remove an unused preference key
This is a quick fix to #43. I am not sure if it's the real fix, so it will stay as a pre-release for a while.
If you have encountered this issue and find that the update fixes it, please give this release an emoji. If it's still not working, please reply to issue #43
Big thanks to @timwredwards and @cr2s367067 for helping me locate the bug.
Good night everyone.
Published by intitni over 1 year ago
If the app is freezing for you, please check the 0.8.4 pre-release
Input Monitoring
. Accessibility API permissions can already achieve input monitoring. The Input Monitoring
was used because I wanted to use listenOnly
instead of defaultTap
. But the term was scary to some users.The next update will focus on some ChatGPT-powered features because my free credits are expiring soon! We will start with some simple commands like "Explain Selected Code".
Published by intitni over 1 year ago
To quickly fix the bug, I need to disable the feature to generate real-time suggestions when the Xcode completion panel is displayed. I will bring a better fix soon. For now, if Input Monitoring is turned on, you can hit ESC to close the panel and at the same time trigger real-time suggestion.
I have added a new presentation mode called 'Floating Widget', which can be turned on from the host app. In this mode, suggestions will be presented in a floating window next to a floating widget.
The floating widget will stay at the bottom of the editor area and will automatically move left or right if there is not enough space for the suggestion window.
If a suggestion is presented, you can click on the widget to hide/show it.
AXObserver
for better performance.I personally find the floating widget mode to be quite good, and I'm starting to feel like the real-time suggestion mode is finally usable. If you have any suggestions about the floating widget mode, please reply to this issue.
Published by intitni over 1 year ago
Known issue: The app may freeze when getting suggestions! Looking into it now!
I have added a new presentation mode called 'Floating Widget', which can be turned on from the host app. In this mode, suggestions will be presented in a floating window next to a floating widget.
The floating widget will stay at the bottom of the editor area and will automatically move left or right if there is not enough space for the suggestion window.
If a suggestion is presented, you can click on the widget to hide/show it.
AXObserver
for better performance.I personally find the floating widget mode to be quite good, and I'm starting to feel like the real-time suggestion mode is finally usable. If you have any suggestions about the floating widget mode, please reply to this issue.
The next thing I want to do is to integrate ChatGPT to this extension.
Published by intitni over 1 year ago
There are some breaking changes in this release. The very first change is that the XPC service is now an accessory app target located in a different location. So if you are upgrading to this version, please open the app once to let it set up the new launch agent for you. The permissions should now be granted to the accessory app, please see the readme for details.
I need to make these changes because the accessory app is taking on more responsibilities like presenting GUI elements. And the old CLI was placed in a wrong directory and caused a lot of problems.
Here are the other changes:
And some bugfixes:
I would like to implement the feature to present suggestions in windows in the next release (no ETA). But I am not sure where to place the window. Snap it to the display corners? To the window corners? If you have an idea, please feel free to let me know.
Published by intitni over 1 year ago
The app can now be installed via Homebrew:
brew install --cask copilot-for-xcode
Published by intitni almost 2 years ago
Don't forget to restart XPC Service in the app after updates.
Published by intitni almost 2 years ago
It's now less likely to block your input unless you are typing slowly. And the block will be much shorter. But yes, it can still block the editor.
It feels more stable now, but I haven't had enough tests on it. If you are willing to try it out and provide feedback, please reply to this discussion
(Make sure you restart the XPC Service after the update.)
(Real-time suggestions will not be automatically enabled after the XPC Service is restarted. You will need to manually turn them on again.)
Published by intitni almost 2 years ago
Known Issues:
Published by intitni almost 2 years ago
New Features:
you can turn it on for the currently open project with the new action "Turn On Realtime Suggestions for Workspace".
Fixes:
Improvements:
.git
directory.Known Issues:
/usr/bin:/usr/local/bin
for node, if your node is installed somewhere else, consider making a symbolic link, or try the Copilot.for.Xcode.app.custom.path.to.node.zip
. Trying the new package is preferred, please let me know if the custom path solution is working for you!In the previous version, whichever action you trigger will replace the whole content in the file. That will cause the editor to select all content and jump to the top when you undo or redo.
In this update, the content will be mutated in place, so undoing and redoing will be fine now.
If you are updating from the previous version, you may need to remove and re-setup the Launch Agent or you can manually disable then enable it.
Published by intitni almost 2 years ago
Fighting with Xcode Source Editor Extension for this long, a fear that it may only work on my own Mac was grown.
Please tell me if it's not working for you.