GitHub Copilot for Xcode is available in public preview!

颱風天讀一點技術新聞與分享。

ChatGPT 對很多人來說,可能是找資料(或者是創造資料)的好助手;而對於我這個還有在做 hands on 的 developer 來說,ChatGPT 或是 Claude 的確在降低學習曲線、或者是加速程式開發上頗有幫助,至於是否有真正提升到「效率」,這可能就見仁見智了。因為 Code completion 的確可以加速,但是在一些疑難雜症上,developer 還是要能夠「問對問題」,AI 才有辦法真正幫助到你,但是難就難在怎麼「問對問題」。

雖然國外有一份研究,是認為 Copilot AI 並沒有真正提升到效率的:工程師用了 GitHub 的 Copilot AI程式助手三個月後,研究發現既沒有提高程式開發效率也沒有減少錯誤率,可以參考看看。我是不太認同這個研究報告,因為在我個人的實務經驗上,我必須說 ChatGPT/Claude/Copilot 在軟體開發上,對於拉開或趕上競爭對手,的確是有很大的幫助(不過還是那個前提,你能不能「問對問題」)。


在 VSCode、Intellij、Android Studio(其實就是 Intellij)相繼都有 GitHub Copilot Extension/Plugin 後,Apple 的 Xcode 終於也迎來 GitHub Copilot 官方的 Extension 了!(2024/10/29)官方公告在此:GitHub Copilot code completion in Xcode is now available in public preview

在官方的 Xcode Extension 推出之前,GitHub 上面最受歡迎的 Xcode Copilot Extension 是:https://github.com/intitni/CopilotForXcode,不過因為這個 extension 還要安裝 NodeJS 等環境,我個人覺得超麻煩,所以就沒試著去使用看看;目前 GitHub Copilot for Xcode 相較於其他開發工具的 GitHub Copilot Extension/Plugin,功能上還是蠻陽春的,只有 Code completions 的功能,跟 GitHub Copilot 的 Chat 功能暫時還沒有。

在使用上,GitHub Copilot for Xcode 還是會有幻覺出現,因此初步看來除了讓 developer 少打一些字、讓初學者可以更快入門之外,可能還看不出實際的效益;下面用一個簡單的例子來展示:

我建立了一個 LoginDemoApp,是使用 SwiftUI 的 APP;在增加登入欄位的過程裡面,TextField 沒問題、Button 沒問題,Code completions 都快速且正確地給出建議;只是在密碼欄位就弄出一個 PasswordField 的幻覺(我故意先打一個 P),但是在 SwiftUI 裡面,密碼欄位其實是 SecureField 這個物件。

再來,不知道是不是 Xcode extension 本身在設計上的限制,還是因為是 public preview 的關係沒做那麼完整;如果你想要在 Xcode 裡面享受到 GitHub Copilot 所帶來的好處,必須要先啟動 GitHub Copilot for Xcode 之後,再啟動 Xcode 才行。

從 GitHub Copilot 推出各個開發工具的 Extension/Plugin 的狀況來看,在 Java 的開發工具世界裡,Eclipse 看來已經是一個逐漸被忘記的開發工具(目前沒看到 GitHub Copilot 官方有打算做這件事,而第三方的開發者當然是有);或許所有在教 Java 入門課程的老師們,應該要好好考慮一下,是否還要以 Eclipse 作為初學者的入門工具了。

markkwsu

markkwsu

Add comment

Highlight option

Turn on the "highlight" option for any widget, to get an alternative styling like this. You can change the colors for highlighted widgets in the theme options. See more examples below.

Instagram

Instagram has returned empty data. Please authorize your Instagram account in the plugin settings .

Categories count color

Advertisement

Small ads

Flickr

  • obscurité
  • Sergio
  • cellule
  • jasmin de mer
  • le baobab
  • plastique invasif
  • grenades
  • evasion
  • wilson

Social Widget

Collaboratively harness market-driven processes whereas resource-leveling internal or "organic" sources.

ThemeForest