为有牺牲多壮志,敢教日月换新天。

Apple开发者使用Github Copilot

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

但是等等,让我们尝试一些简单的事情

在 Xcode 中打开一个 iOS 项目

在 Xcode 项目的根文件夹中打开 VS Code

并排排列两个应用程序窗口

在 VS Code 和 Xcode 中打开同一个 Swift 文件

在 VS Code 中开始输入一些 Swift 代码或者只是写一个 Swift 注释来表达你的意图

副驾驶用一些在线代码发出提示音(ctrl-enter 打开替代视图)

接受最有希望的变体并在 VS Code 中保存更改

Xcode 获取更改并更新其文件副本

在 Xcode 中构建并运行项目

有用!(好吧,可能不是每次都这样,它可能需要一些推动、重试和更正)。

这是一个例子

// 在 iOS 文件中备份包装结构的包装结构

 

VS Code 与 Xcode 并排

// // BackupFile.swift // BackupFile // // Created by Rudolf Farkas on 21.05.22. // import Foundation // a wrapper struct that backs up the wrapped struct in an iOS file public struct BackupFile<Wrapped: Codable>: Codable { public let wrapped: Wrapped public init(wrapped: Wrapped) { self.wrapped = wrapped } } public extension FileManager { func backupFile<Wrapped: Codable>(at url: URL, with wrapped: Wrapped) throws { let backupFile = BackupFile(wrapped: wrapped) try backupFile.write(to: url) } func restoreFile<Wrapped: Codable>(at url: URL) throws -> Wrapped { let backupFile = try BackupFile<Wrapped>(from: url) return backupFile.wrapped } } public extension BackupFile { init(from url: URL) throws { let data = try Data(contentsOf: url) let decoder = JSONDecoder() self = try decoder.decode(BackupFile.self, from: data) } func write(to url: URL) throws { let encoder = JSONEncoder() let data = try encoder.encode(self) try data.write(to: url) } }

// 用于测试 BackupFile 包装器的示例结构
//
//  BackupFileTests.swift
//  BackupFileTests
//
//  Created by Rudolf Farkas on 21.05.22.
//
@testable import BackupFile
import XCTest

class BackupFileTests: XCTestCase {
    override func setUpWithError() throws {}

    override func tearDownWithError() throws {}

    func test_BackupFile() throws {
        // a sample struct for use in testing the BackupFile wrapper
        struct Sample: Codable {
            let name: String
            let age: Int
        }

        let sample = Sample(name: "Rudolf", age: 42)

        let backupFile = BackupFile(wrapped: sample)
        let encoder = JSONEncoder()
        let data = try encoder.encode(backupFile)
        let decoder = JSONDecoder()
        let restoredBackupFile = try decoder.decode(BackupFile<Sample>.self, from: data)
        XCTAssertEqual(restoredBackupFile.wrapped.name, sample.name)
        XCTAssertEqual(restoredBackupFile.wrapped.age, sample.age)
    }
}
Test Suite 'All tests' started at 2022-05-22 15:28:43.735
Test Suite 'BackupFileTests.xctest' started at 2022-05-22 15:28:43.737
Test Suite 'BackupFileTests' started at 2022-05-22 15:28:43.737
Test Case '-[BackupFileTests.BackupFileTests test_BackupFile]' started.
Test Case '-[BackupFileTests.BackupFileTests test_BackupFile]' passed (0.005 seconds).
Test Suite 'BackupFileTests' passed at 2022-05-22 15:28:43.743.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.006) seconds
Test Suite 'BackupFileTests.xctest' passed at 2022-05-22 15:28:43.744.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.007) seconds
Test Suite 'All tests' passed at 2022-05-22 15:28:43.744.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.009) seconds
let sample = Sample(姓名:“鲁道夫”,年龄:42)

结论

提示和技巧

  • 创建一个名为~/.xcode/.xcode_open_vscode_here的脚本:
#! /bin/bash
/usr/local/bin/code `pwd`
  • Xcode > Behaviors > Edit Behaviors…> Custom link the script to a keyboard shortcut,例如ctrl-shift-cmd-C
设置 Xcode 自定义行为(键盘快捷键)
1、安装 Visual Studio Code 扩展
要使用 GitHub Copilot,首先需要安装 Visual Studio Code 扩展。
访问 Visual Studio Code Marketplace 上的GitHub Copilot 扩展页面并安装扩展。
打开 Visual Studio 代码。系统将提示您通过登录 GitHub 来授权扩展。 授权扩展后,您将返回到 Visual Studio Code。
如果您收到以下消息,则您尚未添加到 GitHub Copilot 技术预览版。技术预览对有限数量的测试人员开放。要加入候补名单,请访问copilot.github.com。
安装后,GitHub Copilot 图标应出现在 Visual Studio Code 窗口底部的状态面板中。

2、看到你的第一个建议
GitHub Copilot 为数十种语言和各种框架提供建议,但它特别适用于 Python、JavaScript、TypeScript、Ruby 和 Go。以下示例使用 JavaScript,但其他语言的工作方式类似。
创建一个新的 JavaScript (.js) 文件。
GitHub Copilot 将自动以灰色文本建议整个函数体]。确切的建议可能会有所不同。
按Tab接受建议。
GitHub Copilot 将尝试匹配您的代码的上下文和样式。您可以根据自己的选择编辑建议的代码。

3、选择替代建议
对于任何给定的输入,GitHub Copilot 可以提供多个建议。作为开发人员,您始终负责;您可以选择要使用的建议,也可以全部拒绝。
清除文件(或开始一个新文件),然后再次键入以下内容:
函数 calculateDaysBetweenDates (开始, 结束) {
GitHub Copilot 将再次向您显示建议的完成。
而不是按Tab:
在 macOS 上,按Option (⌥) or Alt+ ](或Option (⌥) or Alt+ [)。
在 Windows 或 Linux 上,按Alt+ ](或Alt+ [)。
GitHub Copilot 将循环查看其他替代建议。
当您看到您喜欢的建议时,请按Tab接受它。
如果您不喜欢任何建议,请按Esc。
您还可以将鼠标悬停在建议上以查看用于选择建议的 GitHub Copilot 命令面板。

4、获得更多建议
有时,您可能不想使用第一组建议中的任何一个。你可以要求 GitHub Copilot 返回更多。
清除文件(或开始一个新文件),然后再次键入以下内容:
函数 calculateDaysBetweenDates (开始, 结束) {
GitHub Copilot 将再次向您显示建议的完成。
按Ctrl+ Enter。GitHub Copilot 将打开一个新选项卡并建议多个选项,如下所示。
选择您喜欢的建议,然后单击“接受解决方案”继续。
如果您不喜欢任何返回的建议,只需关闭建议选项卡。

5、从评论生成代码
GitHub Copilot 可以比大多数代码助手理解更多的上下文,并且可以从像评论这样简单的东西生成整个函数。
创建一个新的 JavaScript 文件,然后键入以下内容:
// 查找所有没有替代文本的图像
// 并给它们一个红色边框
函数 process ( ) {
使用框架
GitHub Copilot 对于使用您不熟悉的 API 和框架特别有用。在这里,我们将使用 GitHub Copilot 创建一个返回当前时间的简单 Express 服务器。
创建一个新的 JavaScript 文件,键入以下注释,然后按Enter。
// Express 服务器在 3000 端口
GitHub Copilot 将生成代码行来创建 Express 应用程序。按TabthenEnter接受每一行。
输入以下评论并按Enter。
// 返回当前时间
GitHub Copilot 将为默认处理程序生成代码。按Tab接受每一行。

6、键盘快捷键
下面列出了与 GitHub Copilot 相关的最常见的键盘快捷键。如果您想重新绑定它们,请查看配置指南。
接受内联建议:Tab。
忽略内联建议:Esc。
显示下一个内联建议:Alt + ]或Option (⌥) + ]。
显示上一个内联建议:Alt + [或Option (⌥) + [。
触发内联建议:Alt + \或Option (⌥) + .
打开 Copilot(单独窗格中的 10 条建议)Ctrl + Enter:.

7、启用和禁用 GitHub Copilot
Visual Studio Code 窗口底部面板中的 GitHub Copilot 状态图标指示 GitHub Copilot 是启用还是禁用。启用时其背景为蓝色,禁用时为红色。要启用或禁用 GitHub Copilot,请单击该图标。系统将询问您是希望切换当前文件类型还是全局切换。
posted @ 2023-03-13 09:13  为敢技术  阅读(2116)  评论(0编辑  收藏  举报