• 首页 >  人工智能 >  AI产业
  • 微软中国MSDN:2024智能GitHub Copilot副驾驶®提示和技巧报告(58页).pdf

    定制报告-个性化定制-按需专项定制研究报告

    行业报告、薪酬报告

    联系:400-6363-638

  • 《微软中国MSDN:2024智能GitHub Copilot副驾驶®提示和技巧报告(58页).pdf》由会员分享,可在线阅读,更多相关《微软中国MSDN:2024智能GitHub Copilot副驾驶®提示和技巧报告(58页).pdf(58页珍藏版)》请在薪酬报告网上搜索。

    1、 智能 GitHub Copilot 副驾驶 提示和技巧第 1 卷 面向开发人员的最佳实践 使用 智能 GitHub Copilot 副驾驶 更高效地工作 1.版,版,2024 Microsoft 2024 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 2 前言 在 Microsoft 德国公司工作期间,我能够陪伴几本电子书。如果我没记错的话,第一本电子书是 Visual Studio Island Book 2013,其中对 Visual Studio、Team Foundation Server、Windows 8 和 Windows Azure(当时仍称为 Wind

    2、ows Azure)做出了贡献。紧随其后的是其他关于 Visual Studio、Visual Studio Code 的电子书,甚至是关于 Covid 爆发后不久开发团队的高效远程协作的电子书。对于后一本电子书,托马斯 多姆克(Thomas Dohmke)在 GitHub 上写了一篇关于文化变革的文章。他现在是 GitHub 的 CEO,下一个变革已经如火如荼当然,我们谈论的是智能 GitHub Copilot 副驾驶。早在 2015 年,Microsoft 首席执行官萨蒂亚 纳德拉(Satya Nadella)就表示,每家公司都将是一家软件公司。萨蒂亚 纳德拉(Satya Nadella)

    3、至今仍以类似的形式重复了这一声明。其核心目标始终是使开发团队或所谓的公民开发人员能够以最佳方式利用他们的创造力来解决问题并创造代表附加值的新产品和解决方案。因此,重点一方面是利用技术创造新事物的能力,另一方面是专注于必需品。这正是智能 GitHub Copilot 副驾驶的用武之地。为了让您从用户的角度更接近这项新产品,我们决定在 智能 GitHub Copilot 副驾驶 上发布另一本电子书,其中包含来自现实生活中的提示和技巧。我们的想法是逐步扩展电子书,其中包含新的提示和技巧。如果您想为下一期的某一期做出贡献,请给我发送电子邮件至 。我会很高兴。在那之前,我希望你喜欢阅读这本电子书的第一版

    4、。你的,丹尼斯 加森 丹尼斯加森 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 3 简介:使用 智能 GitHub Copilot 副驾驶 进行软件开发的未来 作者:Malte Lantin 在 2020 年发布第一份内部 GitHub 白皮书和 2022 年发布 智能 GitHub Copilot 副驾驶 不到 3 年后,AI 辅助软件开发已经成为许多企业开发人员和公司的标准。人们几乎忘记了,直到最近,这还被许多人视为虚构。因此,智能 GitHub Copilot 副驾驶 代表了软件开发工具开发的一个转折点。随着不断改进,专为公司专业使用而开发的功能,并基于 Azure

    5、 OpenAI 服务的最新 AI 模型,智能GitHub Copilot 副驾驶 已成为标准工具。一开始,我们将向您介绍 智能 GitHub Copilot 副驾驶 的基本功能和附加值,在接下来的章节中,您将了解众多应用场景以及实用的技巧和窍门。技术创新和特点 智能 GitHub Copilot 副驾驶 得益于在语言模型领域多年的研究,以及通过 Azure OpenAI 服务进行的安全部署以及与开发过程的无缝集成。如今,企业开发人员可以在 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 编辑器中使用基于 AI 的代码完成功能,这些编辑器从

    6、当前正在进行的源代码文件中提取上下文,以及来自相应编辑器的信息。因此,人工智能可以在正在进行的开发过程中生马耳他 兰丁 作为马耳他 GitHub 的高级解决方案工程师 参与 GitHub 的发布 企业作为安全发展的中心平台,以此为中心,确保企业安全发展。#GitHubCopilot 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 4 成经过调整的、高度相关的代码建议。对于此代码完成,使用了中间填充范式(FIM),这使得可以随时提供最适合当前上下文的建议,并且还考虑了各个项目的风格。随着 智能 GitHub Copilot 副驾驶 Chat 的引入,AI 支持的开发的可能性已

    7、经大大扩展。由于集成到开发环境中的聊天界面,现在可以提供更复杂的指令、接收更广泛的建议、调用代码解释、生成测试或创建整个工作环境。由于基于自然语言的迭代方法,智能 GitHub Copilot 副驾驶 Chat 易于访问,可帮助所有开发人员更快地开发软件,解决问题并学习新技术。在这里,与其他基于聊天的语音 AI 相比,智能 GitHub Copilot 副驾驶 从代码编辑器获得的上下文知识是一个关键的区别特征。智能 GitHub Copilot 副驾驶 Chat 可以利用当前正在处理的文件的知识,因此可以随时提供量身定制的建议。然而,最新一波的创新浪潮已经公布。将来,智能 GitHub Cop

    8、ilot 副驾驶 不仅会更好地使用新的语言模型,而且还会使用集成,也应该在命令行中可用。在 2023 年 11 月的 GitHub Universe 上,智能 GitHub Copilot 副驾驶 Enterprise 也首次亮相,为企业客户提供了 智能 GitHub Copilot 副驾驶与自身开发更深入的集成。这将通过将 智能GitHub Copilot 副驾驶 Chat 集成到 GitHub Enterprise 中、AI 支持的拉取请求处理以及将 AI 模型适应公司自己的代码库来实现。对生产力和代码质量的影响 智能 GitHub Copilot 副驾驶 已生成超过 30 亿行代码,已经

    9、令人印象深刻地证明了其有效性和在开发人员社区中的广泛接受度。如今,超过 100 万软件开发人员使用 智能 GitHub Copilot 副驾驶,超过 20,000 个组织决定采用该技术。智能 GitHub Copilot 副驾驶 对开发人员生产力的影响是可量化的,也是显著的。一项研究发现,超过 30%的 智能 GitHub Copilot 副驾驶 建议被接受,凸显了其在日常工作开发中的相关性和实用性。工作加速高达 55%,附加值显而易见。然而,几乎更重要的是,开发人员在使用 智能 GitHub Copilot 副驾驶 时表示自己更满意、更高效,即使在调查中也是如此。此外,研究表明,代码质量的提

    10、高和代码 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 5 审查被描述为更有效、更快。企业开发人员报告说,智能 GitHub Copilot 副驾驶 通过避免频繁的上下文切换和分心,使他们能够更长时间地保持专注。显著改善的开发体验带来的好处远远超出了生产力的提高。通过自动化常规和重复环节,智能 GitHub Copilot 副驾驶 使开发人员能够专注于更复杂和创造性地完成项目的各个方面,从而提高工作满意度。结果 总而言之,智能 GitHub Copilot 副驾驶 代表了开发者历史上的一个重要里程碑工具。它象征着人工智能辅助编程新时代的开始,它显着提高了开发人员的生产力,

    11、提高了代码质量,并且还对开发团队的整体福祉产生了积极影响。随着 智能 GitHub Copilot 副驾驶 的不断发展,并在未来更加融入软件开发过程,其影响力将越来越大,智能 GitHub Copilot 副驾驶 将成为不可或缺的工具。在接下来的章节中,您将找到可能的应用,这些应用说明了日常工作中的实际使用。我们希望您喜欢阅读和使用 智能 GitHub Copilot 副驾驶。更多信息:智能 Copilot 副驾驶 将 GitHub 转变为 AI 驱动的开发人员平台 AI 驱动的开发人员生命周期的经济影响以及 智能 GitHub Copilot 副驾驶 的经验教训 量化 智能 GitHub C

    12、opilot 副驾驶 对开发人员生产力和幸福感的影响 量化 智能 GitHub Copilot 副驾驶 对代码质量的影响 前言.2 简介:使用 智能 GitHub Copilot 副驾驶 进行软件开发的未来.3 智能 GitHub Copilot 副驾驶:版本和功能一览.7 智能 GitHub Copilot 副驾驶 正在使用中.9 使用 智能 GitHub Copilot 副驾驶 Chat 在编程语言之间迁移应用程序.12 不再有 Lorem Ipsum.19 使用 智能 GitHub Copilot 副驾驶 进行智能编码.23 从构思到部署只需不到 30 分钟.29 使用 智能 GitHu

    13、b Copilot 副驾驶 Chat 编写测试.33 在 Windows 设备上主动进行故障排除.35 代码是什么样的?.39 使用 智能 GitHub Copilot 副驾驶 Chat 自动执行烦人的开发工作.41 更好的提示以获得更好的代码-开发人员的提示和技巧.46 有意义的函数名称和变量.49 支持使用 智能 GitHub Copilot 副驾驶 创建测试用例.51 将 智能 GitHub Copilot 副驾驶 用于您的项目.54 相关资源.56 内容内容 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 7 智能 GitHub Copilot 副驾驶:版本和功能一

    14、览 智能 GitHub Copilot 副驾驶 将人工智能引入开发,并帮助开发人员更快地构建更好的代码。AI 助手支持编写单行代码或整个代码块,并可以就如何扩展或改进现有代码提出建议。结果是开发工作只有 智能GitHub Copilot 副驾驶 的一半,它显着改善了开发人员的工作流程。例如,您可以使用 智能 GitHub Copilot 副驾驶 编写一条注释,描述您想要的逻辑并定义您喜欢的样式约定。剩下的事情由 AI 完成,因此您可以专注于真正复杂的任务。这使您可以更高效地工作,并更快地完成重复性任务,并减轻压力。同时,智能 GitHub Copilot 副驾驶 帮助开发人员比阅读文档或进行网

    15、络研究更快地掌握新语言或框架。支持多种编程语言和安全代码开发 智能 GitHub Copilot 副驾驶 支持多种编程语言。其中包括 Python、JavaScript、TypeScript、Go 和 Ruby 等。超过 37,000 家公司已经在使用人工智能助手,其中包括所有财富 500 强公司的三分之一。智能 GitHub Copilot 副驾驶 基于 OpenAI 的 LLM 模型 Codex,该模型针对程序代码的开发进行了优化。此外,智能 GitHub Copilot 副驾驶 支持 OpenAI GPT-4。智能 GitHub Copilot 副驾驶 还可以改善团队协作。系统会为您的仓

    16、库编制索引,理解其中存储的代码,并帮助您更快地学习新的代码库。当您连接新的仓库时,您可以在其他人的工作基础上进行构建。#GitHubCopilot 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 8 智能 GitHub Copilot 副驾驶 的另一个使用领域是创建函数和图表,开发人员通过相应的输入将其指定为提示。智能 GitHub Copilot 副驾驶 避免了代码生成过程中的漏洞和安全漏洞,因为系统经过优化以生成尽可能安全的代码。不安全的代码行被 AI 阻止。基于 AI 的实时建议:更高的安全性,更少的错误 智能 GitHub Copilot 副驾驶 的优势主要在于它能

    17、够为实时代码开发提供基于 AI 的建议。当您自己编写代码行时,智能 GitHub Copilot 副驾驶 会分析代码并自动提出完成建议。这在开发人员和 AI 之间创造了完美的和谐。智能 GitHub Copilot 副驾驶 跟踪所有代码,建议描述,并帮助测试人员理解更改。开发人员还可以使用 智能 GitHub Copilot 副驾驶 自动创建提交消息。有许多应用领域可以使开发人员的日常工作更加轻松。智能 GitHub Copilot 副驾驶 不仅可以帮助您创建新代码或改进现有代码行。AI 助手也是查找代码中的错误的重要工具。其基础是自然语言中的“对话”。如果您被困在某个地方,请询问 智能 Gi

    18、tHub Copilot 副驾驶。智能 GitHub Copilot 副驾驶 能够智能地执行操作,因为 AI 会根据您的专业知识和 AI 模型继续学习的现有文档来个性化答案。您无需离开首选的开发环境即可使用它。您可以 通过 Visual Studio、Visual Studio Code、Vim、Neovim、JetBrains Suite 和 Azure Data Studio 等扩展将 智能 GitHub Copilot 副驾驶 直接集成到开发环境中。智能 GitHub Copilot 副驾驶 还可以在 CLI 中提供帮助以获取帮助。很快,智能 GitHub Copilot 副驾驶 也将可

    19、用于 GitHub Mobile,因此开发人员可以在他们的智能手机和平板电脑以及台式计算机上使用 智能 GitHub Copilot 副驾驶。智能 GitHub Copilot 副驾驶:适用于所有应用程序领域的版本 每个应用程序都有合适的 智能 GitHub Copilot 副驾驶 版本。中小型企业或大型组织一样从这些可能性中受益。所有版本都有一个共同点:它们直接在 IDE 中将自然语言转换为代码。智能 GitHub Copilot 副驾驶 Business 主要针对企业。只需每位用户 19 美元,该公司的开发人员就可以访问 智能 GitHub Copilot 副驾驶。其中包括代码 智能 Gi

    20、tHub Copilot 副驾驶 技巧和窍门 Vol.1 9 此外,通过 IDE 和 GitHub Mobile(从 2024 年开始可用)与 智能 GitHub Copilot 副驾驶 聊天,CLI 支持、漏洞和公共代码过滤、企业级安全和隐私以及代码引用。当 智能 GitHub Copilot 副驾驶 检测到易受攻击的编码模式时,它会阻止这些线路。这也适用于公共代码的使用。智能 GitHub Copilot 副驾驶 Enterprise 是直接为公司量身定制的,还为开发人员提供个性化聊天以及文档研究和摘要。此外,公司还会收到经过微调的 AI 模型,包括验证代码的能力。智能 Copilot 副

    21、驾驶 不会复制代码,而是重新创建代码 通常,智能 GitHub Copilot 副驾驶 版本都不会直接复制代码,而是根据概率计算重新生成代码。尽管 智能 GitHub Copilot 副驾驶 使用的模型是使用来自可公开访问的存储库的代码进行训练的,但它们本身不包含任何代码。生成代码时,智能 GitHub Copilot 副驾驶 使用 IDE 中的现有代码,尤其是光标上方和下方的代码行。此外,还有您已链接到 智能 GitHub Copilot 副驾驶 和相应仓库的训练数据和其他文件中的信息。根据这些数据,智能 GitHub Copilot 副驾驶 生成下一行代码或为它们提出建议。智能 GitHu

    22、b Copilot 副驾驶 技巧和窍门 Vol.1 10 智能 GitHub Copilot 副驾驶 正在使用中 智能 GitHub Copilot 副驾驶 中的斜杠命令 马丁布兰德尔(Martin Brandl)智能 GitHub Copilot 副驾驶的斜杠命令使与助手的交互更加高效。只需在聊天中点击斜杠(“/”),就会打开一个有用的命令列表,让你直接执行各种操作,而无需输入很多。这些命令与上下文相关,并且始终引用所谓的代理。它们由 符号表示。目前有两个:workspace 具有有关工作区中代码的上下文信息,并可以通过查找相关文件或类来帮助您进行导航。vscode 了解 VS Code 编

    23、辑器本身中的命令和函数,并可以帮助您有效地使用它们。例如,以下代码部分执行整数除法,该除法将截断小数位。结果是 2.0,而不是预期的 2.5:int x=5;int y=2;double result=x/y;马丁布兰德尔 Martin(martin_jib)他拥有十多年开发经验,具有丰富的 Microsoft Azure 经验 他热衷于开发云原生应用程序。由于他对 Azure 的贡献,他已经多次被授予 Microsoft Azure 的 MVP。#Developer 提示 1:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 11 但是,可以通过在 智能 GitHub Co

    24、pilot 副驾驶 Chat 中运行/fix 命令轻松修复错误。自动指定代理workspace 具有以下功能:除了/fix 命令之外,还可以使用/help 调用许多其他有用的命令:workspace/explain:此命令逐步解释所选代码。workspace/fix:此命令为所选代码中的任何错误提供解决方案。workspace/new:此命令允许您根据自然语言描述创建新项目。workspace/newNotebook:此命令允许您创建新的 Jupyter 根据您的描述编写的笔记本。workspace/terminal:在这里,您将找到有关如何使用集成终端执行各种任务的说明。workspace/

    25、tests:此命令会自动为所选代码生成单元测试。vscode/api:如果您对开发 VS Code 扩展有任何疑问,可以使用此命令。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 12 使用 智能 GitHub Copilot 副驾驶 Chat 在编程语言之间迁移应用程序 大卫洛塞特(David Losert)从标准化或现代化项目到开发人员缺乏技术专长,再到对跨团队边界的公司范围协作的渴望(关键词:内部外包):将现有应用程序或其部分从一种编程语言翻译成另一种编程语言可能有很多充分的理由。特别是在公司中,在经历了十年的技术多样化之后尤其是在微服务、容器化和公共云中与技术无关的

    26、操作的简单性的推动下我们现在正在经历一种倒退运动,以及对更多标准化和统一的渴望。幸运的是,翻译或由于人工智能在软件开发中的进步,两种编程语言之间的迁移变得更加容易,尤其是 智能GitHub Copilot 副驾驶。以下是如何做到这一点。准备工作 在开始翻译之前,您需要定义目标技术和架构,因为即使使用 智能 GitHub Copilot 副驾驶,您也必须自己确定旅程的目的地并规划到达那里的方式。您还应该对源应用程序有基本的了解,以免盲目迁移。这就是 智能 GitHub Copilot 副驾驶 与所谓的 workspace 代理聊天非常有帮助的地方。这还包括 智能 GitHub Copilot 副

    27、驾驶 处理的上下文中未打开的文件。因此,您将从解释中受益,并更好地了解大量文件。大卫洛塞特 David 是 GitHub 的首席解决方案工程师,负责领导 Enterprise 具有超过 10 年开发经验以及云顾问,大卫致力于以最佳方式将 GitHub 建立为 AI DevSecOps 平台。#Developer#ReduceTechnicalDebt#GitHubCopilotChat 提示 2:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 13 如屏幕截图所示,您还可以使用 智能 GitHub Copilot 副驾驶 用德语进行交流。由于代码通常是用英语定义的,因此整个

    28、事情会产生一个连贯的图片,因此以下屏幕截图是使用英语文本创建的。也可以使用 智能 GitHub Copilot 副驾驶 创建目标堆栈 Chat 和正斜杠命令/new。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 14 迁移 然后,开发人员直接在 IDE 中进行实际的迁移,基本上非常简单:一.您打开一个要翻译的文件 二.在 智能 GitHub Copilot 副驾驶 聊天窗口中,请求翻译:“将此文件翻译成 ,拜托了!”(对 AI 友好不会有什么坏处 )智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 15 三.使用 复制并粘贴生成的代码 “插入到新文件”中

    29、。对源系统中的所有文件重复此过程,以成功完成迁移。然而,大多数时候,这并不容易,还有一些事情需要考虑。我将在下面更详细地介绍这些内容。审查和改进 在翻译单个文件后,通常需要对目标文件进行微小或重大的改进。智能 GitHub Copilot 副驾驶 通常有助于 80%到 90%的基本框架,但尤其是在开始时,目标代码往往不完美。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 16 在上面的示例中,例如,在 Spring-Boot 中,有一种更好的方法可以将依赖项注入到带有 Autowired 注解的类中。因此,在本例中,使用聊天来改进目标代码:为了避免每次新翻译都必须对此进行优

    30、化,您还可以直接使用下一个要翻译的文件来优化提示:随着迁移的进行,从第一个提示开始,您将从 智能 GitHub Copilot 副驾驶 获得越来越好的翻译。小提示:使用“向上箭头”,您可以将前面的提示带入输入字段以进行改进,就像在终端中一样。如果编程语言之间存在概念上的差异,则通常需要进一步的工作。例如,如果您正在从无类型 JavaScript 转换为 Java,就像这里一样,您仍然需要在 Java 中为在 JS 中内联定义的数据结构创建一个数据类。您还可以使用 智能 GitHub Copilot 副驾驶 Chat 来节省大量输入时间,尤其是对于较大的数据类:智能 GitHub Copilot

    31、 副驾驶 技巧和窍门 Vol.1 17 迁移策略 Divide&Conquer 迁移时,建议从一个编译的工作状态工作到下一个编译和工作状态,并在两者之间一次又一次地提交。这将帮助您避免上下文切换,以及一次被太多的更改和错误所淹没。此外,您仍在完成任务。由于程序通常是一个由相互依赖的文件组成的网络,因此建议从自下而上开始,即从没有依赖项或几乎没有依赖项的文件开始,然后“向上”工作。智能 GitHub Copilot 副驾驶 还可以一次翻译多个文件。然而,在这种情况下,细化更加困难,并且您有可能失去焦点。测试 源代码中是否有单元测试?当然,这些也可以用 智能 GitHub Copilot 副驾驶

    32、进行翻译。没有吗?没关系。使用 智能 GitHub Copilot 副驾驶 Chat 中的/test 斜杠命令可以快速解决问题:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 18 单击“接受”会生成相应的测试文件,其中包含一些初始测试用例,您可以在此基础上进行构建。与技术无关的 E2E 或黑盒测试也可以成为验证应用程序在旧代码和新代码中的整体行为的重要补充,并确保双方的核心功能平等。就是这样 通过这种方法,您可以使用 智能 GitHub Copilot 副驾驶 Chat 以前所未有的速度在技术之间迁移应用程序。智能 GitHub Copilot 副驾驶 建议的代码可能并不

    33、总是立即完美无缺,但只需对目标文件和提示进行一些工作,您就可以快速取得长足的进步。智能 GitHub Copilot 副驾驶 Chat 不仅可以帮助您更好地理解源代码,而且还可以为您节省大量打字时间,而无需您考虑。这反过来又减少了迁移过程中的认知负担,因此您可以专注于项目的重要部分,例如确保实际应用程序的用例和功能,以及新代码的质量。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 19 不再有 Lorem Ipsum 丹尼尔梅克斯纳(Daniel Meixner)智能 GitHub Copilot 副驾驶 是一个开发工具因此 AI 助手只关注与开发相关的答案是合乎逻辑的。例

    34、如,如果您向 智能 GitHub Copilot 副驾驶 询问特定产品的购买建议,助手会回答说它无法回答该问题。但这并不是因为 智能 GitHub Copilot 副驾驶 不能使用软件开发之外的其他领域的通用知识。例如,您可以使用这些知识来生成有意义的测试数据,这些数据在技术上适合应用程序,并且需要来自特定领域的知识。丹尼尔梅克斯纳 Daniel 是 Microsoft 的一名应用创新专家,其专长包括 云架构、开发工具、AI 和智能应用程序。曾担任不同的角色-从开发人员到布道士 他提出了软件开发中的“好的、坏的和丑陋的”,倡导从各种角度协调发展#Developer#AppInnovation

    35、提示 3:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 20 例如,如果您对网店进行编程,则需要测试数据来表示产品。当然,您可以编译来自不同来源的测试数据。通常,您也可以以这种方式获得有用的数据。然而,作为一项规则,此过程需要付出一定的努力和耗时。使用 智能 GitHub Copilot 副驾驶,您可以轻松地让 AI 生成此数据,或者如果您愿意,可以生成为 JSON 格式,以便以有意义的方式处理它。在此示例中,您将创建一个文件 testdata.json 并在此文件中内联查询应用程序的测试数据,例如使用键盘快捷键 Ctrl+I。在下文中,我们假设一家销售吉他和配件的网店:

    36、从输出中可以看出,这已经是相当现实的了。智能 GitHub Copilot 副驾驶 似乎对这个领域有很好的了解。描述是真实的,也适合测试。这比使用 Lorem Ipsum 比使用毫无意义的填充文本要好得多。通过使用多种语言变体,还可以使用多种语言开发该应用程序。这使您可以非常快速地开始编程,而无需依赖第三方,也不会浪费时间。智能 GitHub Copilot 副驾驶 的知识不仅限于一个领域,还可以用于其他用例。假设您正在处理一个医疗应用程序,并且需要来自患者的测试数据。智能 GitHub Copilot 副驾驶 可以帮助您创建可在应用程序中使用的虚构患者数据:智能 GitHub Copilot

    37、 副驾驶 技巧和窍门 Vol.1 21 请为我的医疗应用程序创建测试数据。我需要有关患者的信息。请提供包含患者姓名、患者 ID(遵循 XX-1111XX11 方案)、出生日期、最后一次手术日期、方式(如 CT 或 MR 等)、性别、医院和医生以及患者地址(德国的地址)的 json。请创建 5 条记录。以下是结果的摘录:在这一点上,还可以在字符串(patientid )中指定格式,这一点也很有帮助 没有任何正则表达式。此外,您还可以看到对 智能 GitHub Copilot 副驾驶 的一般理解,它会自动将“dob”正确解释为出生日期。如果您想提供数据,您仍然可以指示 智能 GitHub Copi

    38、lot 副驾驶 创建 Web 服务器。这允许您通过 HTTP 请求查询数据。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 22 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 23 使用智能 GitHub Copilot 副驾驶 进行智能编码 乔治科斯米迪斯(George Kosmidis)由于技术进步和不断变化的市场需求,软件开发发生了巨大变化从传统的手动编程转向更敏捷和创新的方法。人工智能(AI)和机器学习(ML)的集成推动了这一变化,彻底改变了开发工作流程和结果。智能 GitHub Copilot 副驾驶 展示了这一变化,在编写、测试和优化代码方

    39、面提供 AI 驱动的帮助,以培养超越常规编码的创造力和战略思维。智能 GitHub Copilot 副驾驶 由 GitHub、Microsoft 和 OpenAI 开发。它是一款开创性的人工智能驱动的代码完成工具,可以显着改善编码体验。智能 GitHub Copilot 副驾驶 从广泛的数据库中提供智能的上下文建议,加快编码过程,同时提高准确性和减少错误,这在时间敏感的业务环境中非常宝贵。价值。除了这些功能之外,智能 GitHub Copilot 副驾驶 还提供一项名为 智能 GitHub Copilot 副驾驶 聊天的交互式功能。这使开发人员可以提出有关代码的问题,并直接在受支持的集成开发环

    40、境(IDE)(如 Visual Studio)中获取答案。通过促进这种直接对话,智能 GitHub Copilot 副驾驶 Chat 进一步丰富了开发环境,并实现了更快的问题解决和知识获取。该工具还鼓励探索新的编程模式,带来创新的解决方案,并为创造性和战略性思维乔治科斯米迪斯 George 是 Microsoft 的 MVP 和 Slalom 的高级架构师 作为创始人,他领导的部门专门研究 Microsoft 技术。他是慕尼黑.NET 社区的组织者,他有一个活跃的社区 约 1,700 位.NET 和 Azure 专业人员。他由于对 Azure、.NET 和 Azure DevOps 的卓越贡献

    41、而赢得了 Microsoft MVP 头衔。乔治是一位引人入胜的演讲者,他经常分享他的知识和经验。-对技术社区产生重大影响#Developer#MVP 提示 4:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 24 留出更多空间。从这个意义上说,智能 GitHub Copilot 副驾驶 不仅仅是另一个开发工具;它是一种重要的资源,可以提高生产力和整体工作质量。在这个快速发展的环境中,Slalom 是 智能 GitHub Copilot 副驾驶 的早期采用者,并获得了使用该工具的宝贵经验。您可以在下一节中看到 Slalom 获得的见解以及 智能 GitHub Copilot

    42、 副驾驶 对开发方法的影响。Slalom 的经验凸显了 智能 GitHub Copilot 副驾驶 的作用:它不仅仅是一个代码工具,而是提高生产力和开发工作质量的重要资源。智能 GitHub Copilot 副驾驶 的优势以 Slalom 的客户示例为例进行了解释 Slalom 与一家领先的医疗保健提供商合作,使用 Azure AI 服务构建基于 Azure 的高级健康分析平台。目标是集成 Azure 中的各种 AI 功能,包括 Azure 机器学习、Azure 认知服务和 Azure 机器人服务,以提高患者护理和运营效率。挑战 该项目旨在将 Azure AI 服务的本机功能与 Azure M

    43、L 模型无缝集成。重点是将它们作为容器提供或直接使用 AI 服务。这种集成在多个层面上提出了挑战:一方面,它需要深入的专业知识才能有效地导航和使用 Azure 的全部功能;另一方面,在最大限度地提高性能的同时,迫切需要有效管理成本。协调这种平衡尤其是在紧迫的时间内是对 Slalom 技术能力和资源管理的重大考验。智能 GitHub Copilot 副驾驶 的解决方案 智能 GitHub Copilot 副驾驶 已集成到开发工作流程中,以支持团队。这让一切变得不同:1.加快发展 在使用 Azure 机器学习开发核心分析引擎时,团队使用了 GitHub Copilot 副驾驶,用于建议优化的代码模

    44、式和算法。这不仅加快了开发速度,而且确保了解决方案的稳健性和高效性。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 25 2.优化集成 对于 Azure 认知服务的集成,特别是对于自然语言处理(NLP)的 AI 模型的定制,智能 GitHub Copilot 副驾驶 提供了实时代码支持。它提供了代码片段和集成示例,大大简化了实施过程。3.改进机器人开发 在开发用于与 Azure 机器人服务进行患者交互的机器人时,智能 GitHub Copilot 副驾驶 的建议可帮助团队导航复杂的对话流程,并将它们与 Azure 后端无缝集成。仔细看一看 为了更好地理解 智能 GitHub

    45、 Copilot 副驾驶 在此项目中的影响,让我们看一个具体的例子。主要任务之一是将用于自然语言处理的 Azure 认知服务集成到 Azure 函数中。智能 GitHub Copilot 副驾驶 在这方面发挥了决定性作用。其目的是加快开发速度,同时确保代码符合最佳实践。以下 Python 代码展示了 智能 GitHub Copilot 副驾驶 如何帮助开发团队使用 来自 Azure 的 TextAnalyticsClient。#Importing necessary Azure libraries from azure.ai.textanalytics import TextAnalytics

    46、Client from azure.core.credentials import AzureKeyCredential#Initializing the Text Analytics Client#GitHub Copilot suggested the use of AzureKeyCredential client=TextAnalyticsClient(endpoint=,credential=AzureKeyCredential()智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 26#Analyze patient feedback using Azure Cog

    47、nitive Services#GitHub Copilot helped in crafting this function structure def process_patient_feedback(feedback):#Using the sentiment analysis feature of Text Analytics#Copilot suggested the use of client.analyze_sentiment for processing natural language response=client.analyze_sentiment(documents=f

    48、eedback)if not response:return error:No response from sentiment analysis!if response0.is_error:return error:Error in sentiment analysis!sentiments=response0#Additional insights such as key phrases can also be extracted#This suggestion by Copilot enhances the depth of analysis response=client.extract

    49、_key_phrases(documents=feedback)if not response:return error:No response from key phrases extraction!if response0.is_error:return error:Error in key phrases extraction!return sentiment:sentiments,key_phrases:response0.key_phrases 在上面的代码中,智能 GitHub Copilot 副驾驶 的贡献在几个方面很明显。智能 GitHub Copilo 副驾驶 建议使用 Az

    50、ureKeyCredential 进行安全的 API 密钥管理,这是 Azure 应用程序开发中的最佳实践。此外,智能 GitHub Copilot 副驾驶 的建议简化了情感分析功能的结构和实现,从选择正确的自然语言处理方法到通过提取关键短语来改进分析。此示例演示智能 GitHub Copilot 副驾驶不仅可以加速编码,还可以通过高级功能和最佳实践来丰富编码,为 Azure 的复杂开发提供宝贵的价值和原生解决方案。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 27 智能 GitHub Copilot 副驾驶 的优势 Sallom 最近的内部评估提供了令人信服的证据,证明

    51、 智能 GitHub Copilot 副驾驶 在软件开发领域的变革性影响。该研究在两个不同的地点(伦敦和丹佛)进行,共有四个开发舱,为智能 GitHub Copilot副驾驶在受控条件下的有效性提供了独特的见解。每个 pod 都使用相同的代码库和项目积压开始了冲刺,但有一个关键变量:一半的团队使用 智能GitHub Copilot 副驾驶,另一半没有使用 AI 驱动的工具。这种方法允许对 智能 GitHub Copilot 副驾驶 对开发的影响有一个公正的看法,特别是因为所有开发人员对代码库和 智能 GitHub Copilot 副驾驶 本身都相对缺乏经验。结果是显著的。使用 智能 GitHu

    52、b Copilot 副驾驶 的没有经验的开发人员发现他们的生产力飙升了 88%。仅这一统计数据就充分说明了 智能 GitHub Copilot 副驾驶 为每个企业工作人员提供公平竞争环境的能力,并使经验不足的程序员更加高效和自信。此外,智能 GitHub Copilot 副驾驶 在简化文档方面的作用是显而易见的。他的上下文相关建议,以及精确的代码示例和语法更正,不仅使文档过程更快,而且更直观。开发人员能够更多地关注编码的创造性方面,而不是被文档的复杂性所阻碍。其中一个令人印象深刻的结果是,使用 智能 GitHub Copilot 副驾驶 的团队生成代码的速度提高了 50%。在时间往往是最重要资

    53、源的领域,这种效率的提高非常重要。对于重复性任务,智能 GitHub Copilot 副驾驶 的影响更加明显,速度提高了惊人的 96%,凸显了 智能 GitHub Copilot 副驾驶 自动化和简化编码中更无聊的方面的能力。搜索信息或解决方案所花费的时间减少了四分之三,这凸显了 智能 GitHub Copilot 副驾驶 的另一个重要优势:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 28 作为知识数据库的角色。通过提供对信息的即时访问和对源代码的洞察,智能 GitHub Copilot 副驾驶 大大减少了开发人员搜索解决方案所花费的时间。Slalom 的内部评估清楚地

    54、表明,智能 GitHub Copilot 副驾驶 不仅仅是一个工具,而是代表了软件开发的范式转变。它对生产力、学习曲线、文档质量和整体编码效率的影响代表了向前迈出的重要一步,特别是对于希望在快节奏的技术世界中保持敏捷性和创新性的团队而言。随着我们继续欢迎和探索 智能GitHub Copilot 副驾驶 等 AI 驱动的工具在开发人员日常工作中的可能性,软件开发的未来看起来比以往任何时候都更有希望和令人兴奋。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 29 从构思到部署只需不到 30 分钟 朱莉娅科迪克(Julia Kordick)“嘿 Julia,您能否向客户的技术联系

    55、人展示如何在 Azure 上实现此功能?”“Moin Julia,你知道它是否能像客户想出的那样工作吗?”“嗨,Julia,你能在客户现场做一个关于技术主题的演示吗?”我几乎每天都会收到这样和类似的询问。概念验证、解释和指出技术背景和演示决定了我的日常工作。一段时间后,我创建了一个不同存储库的集合,现在可以将其用作不同方案的基础。最后,在实践中,无论是从技术角度来看,还是从特定用例的角度来看,每个客户主题都是不同的。智能 GitHub Copilot副驾驶 帮助我调整现有代码和部署,以及以针对目标群体量身定制的方式快速从头开始创建新代码和部署。在基础结构即代码和编程语言方面,我完全不受束缚-因

    56、为尽管我从未专业使用过.NET,例如,我从其他语言获得的专业代码知识与 智能 GitHub Copilot 副驾驶 的超能力相结合,完全足以创建几乎任何语言的可执行代码-然后通过 Azure CLI 快速轻松地部署它,在这个例子中,我想重点介绍什么。朱莉娅科迪克 高级软件工程师 她是 IT 团队主管、云解决方案架构师、技术专家 Julia 喜欢的:干净的代码、分布式软件架构、解决复杂问题 JavaScript,黑客马拉松和美式足球。#SolutionArchitecture#Demo#POC#AzureCLI 提示 5:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 30

    57、以下方案:客户有一个未容器化的整体式 Node.js 应用程序,并且需要在后台使用(关系)数据库。因此,我们想要预配 Azure 应用服务和 Azure SQL 数据库-最简单的方法是通过 Azure CLI。首先,我创建一个 deployment.sh,简要描述第一条注释中应该发生的情况,然后开始为我的部署创建一些参数。在我定义了第一个参数之后,智能 GitHub Copilot 副驾驶 知道了我的命名方案,并向我提出了进一步的建议,几乎所有的建议我都可以轻松接受。然后,我开始使用 Azure CLI 预配资源,智能 GitHub Copilot 副驾驶 会提出包含我的参数的建议。智能 Gi

    58、tHub Copilot 副驾驶 会逐步建议创建 Azure 应用服务和 Azure SQL 数据库所需的描述性步骤,包括注释。我一直按 Enter 键以从 智能 GitHub Copilot 副驾驶 和 Tab 获得新建议 以完全接受它。对 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 31 于特别重要或与安全相关的元素,例如防火墙规则的配置,我不会完全决定它们,而是在以下人员的帮助下逐字逐句地决定。Command&Tab,以便能够详细检查从一个元素到另一个元素的建议。作为一个非常喜欢 Azure 的人,我只需要几分钟就可以描述必要的资源。然后,我启动刚创建的 shel

    59、l 脚本,可以执行更多操作 几分钟后,我在控制台和 Azure 门户中都看到了结果的输出。尽管我对 Azure 有深入的了解,但我并不了解 Azure CLI 的每个命令。因此,智能 GitHub Copilot 副驾驶 经常向我建议,我对会发生什么有一个大致的想法,但想知道确切的情况。智能 GitHub Copilot 副驾驶 Chat 可以帮助我解决这个问题。我在右侧的文件中标记了我想解释的位置,并在左侧的聊天窗口中询问。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 32 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 33 使用 智能 GitHu

    60、b Copilot 副驾驶 Chat 编写测试 托马斯彭滕里德(Thomas Pentenrieder)如有必要,智能 GitHub Copilot 副驾驶 可以从注释或提示中生成大部分程序逻辑。然而,在我看来,当该工具可以使更无聊(尽管很重要)的主题变得更容易时,它为开发人员提供了最大的附加值。这还包括编写测试。特别是如果方法已经实现,智能 GitHub Copilot 副驾驶 可以从现有上下文中以非常高的准确性为各种情况生成合适的单元测试和相应的测试数据。这意味着您不仅可以管理大部分从根本上检查程序逻辑,但也要查看您自己可能没有想到的边缘情况。在以下示例中,我们使用 智能 GitHub C

    61、opilot 副驾驶 来广泛测试特定于日期的帮助程序方法。这在浏览器中尤为重要,因为区域和时区取决于用户,并且不受开发人员的控制。正在测试的 daysAsArray 方法返回日历的所有可见日期,例如,仅返回 ISO 标准格式化的开始日期和结束日期之间的工作日。通过在 智能 GitHub Copilot 副驾驶 聊天中选择所需的方法并调用/tests 命令,您将在几秒钟内收到七个不同的测试用例。它们会自动添加到现有测试文件中,而无需额外指定此项。托马斯彭滕里德 Thomas(th_p)是 Medialesson 的一名高级软件工程师 在云和 Web 开发领域特别活跃。他是慕尼黑 Azure De

    62、v Meetup 的联合组织者。于 2023 年,Microsoft 授予 Azure 领域的 MVP 等奖项。#Developer#UnitTests#TypeScript 提示 6:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 34 在任何情况下,您都应该在事后纠正测试。实现中的错误可能会导致 智能 GitHub Copilot 副驾驶 对结果的期望与您不同,并在测试中制定错误的假设。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 35 在 Windows 设备上主动进行故障排除 将 Intune 修正脚本与 智能 GitHub Copilot 副

    63、驾驶 配合使用 作者:Jannik Reinhard Microsoft Intune 是一个统一的终结点管理和安全平台,使组织能够管理和保护其移动设备(如智能手机、台式机)以及 HoloLens 等设备。Intune 的核心组件是主动修正脚本。它们用于使用检测脚本检查设备是否存在问题,以识别它们,并根据返回值执行修复问题的修正脚本。脚本通常是用 PowerShell 编写的,并且相互构建。这就是 智能 GitHub Copilot 副驾驶 提供很大帮助的地方。只需要描述它是一个修复脚本,以及脚本应该检查哪个错误。每天都有用户报告的新问题或通过日志突出的新问题。目标是在这里朝着积极主动的方向发

    64、展,并直接为这些错误开发脚本,从而自动检测并解决用户问题或再次出现的问题。这既减少了服务台的工作量,又减少了工单数量。它还为用户在日常工作中提供了更好的体验。由于理想情况下必须迅速快速地创建脚本,因此 智能 GitHub Copilot 副驾驶 在这里提供了巨大的帮助,可以节省大量时间。不是每个命令、每个函数和每一行代码都必须经过艰苦的研究。在许多情况下,创建我想通过脚本实现的目标的详细描述就足够了。之后,智能 GitHub Copilot 副驾驶 为我创建脚本。扬尼克莱因哈德 Jannik(jannik_reinhard)是一名高级系统工程师,Microsoft 企业移动性类别中的 MVP。

    65、全球最大的化工公司 AIOps 领域的技术负责人 在工作之余,他会写博客并在活动中发表演讲。#DevOpsEngineer#PowerShell#EnterpriseMobility#DeviceManagement#Analytics#Remediation 提示 7:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 36 让我们看一个示例,该示例检查 Windows 事件日志中是否存在 ID 为 1000 或 1001 的事件。这些都是应用程序的稳定性问题。对于此示例,首先要做的是编写有关要检查的内容的注释:现在剩下要做的就是按几次“Tab”。然后,智能 GitHub C

    66、opilot 副驾驶 为我生成脚本。我可以专注于命令应执行哪些操作来读取事件日志,或者如何筛选到过去 24 小时。现在,整个事情将进行调整,以仅筛选与 Teams 客户端有关的问题。为此,请添加新评论以按团队筛选:#Intune 主动修正脚本,用于检测事件 1000 和 1001 在过去 24 小时内出现。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 37 在这里,这个建议并不完全正确。但评论也不够精确。让我纠正一下:现在,检测脚本已准备就绪,您仍然需要一个修正脚本,用于在这种情况下清除团队的缓存。此脚本也由 智能 GitHub Copilot 副驾驶 创建。程序是相同的

    67、。我写一篇关于我想要实现的目标的评论。评论内容如下:Intune 主动修正脚本,用于通过清理团队缓存来修正团队崩溃。同样,人们认识到要实现的目标,我只需要确认。遗憾的是,结果仍然不尽如人意。我得到了与识别脚本相同的结果,并且必须再次返工。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 38 让我们在这里也使用一个技巧。我现在所做的是向 智能 GitHub Copilot 副驾驶 指出在这里该做什么。现在我可以“摸索”并有一个完美的脚本。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 39 代码是什么样的?作者:Holger Sirtl 编程是我的热情所在

    68、。从我小时候起,我就对代码和算法的世界充满热情。我着迷于如何通过几行代码解决复杂问题并开发创新的解决方案。作为 Microsoft 的云解决方案架构师,我的工作是将这种热情转化为客户和合作伙伴项目,并编写量身定制的解决方案。在我的客户项目中,我经常面临创建小型代码示例的挑战。无论是演示新功能还是演示最佳实践。然而,我面临着两个主要挑战:一方面,我作为解决方案架构师的工作经常让我几乎没有时间在频繁变化的客户场景中进行编程。另一方面,我的项目要求我使用许多不同的编程语言进行开发。这意味着我不仅要适应一种语言,还要适应几种语言。如何在 Python 中迭代数组?如何在 C#或 Java 中创建树结构

    69、?如何在 PowerShell 中输出环境变量的内容?如何在 Bash 中的 Linux 上执行此操作?还有更多的例子,几乎不可能在你想要的每种编程语言中都熟记每个编程结构。这就是 智能 GitHub Copilot 副驾驶 的用武之地。该工具允许我通过注释来制定所需的代码示例。这意味着我不再需要将编程语言的每一个细节都放在脑海中,而是专注于逻辑和算法。通过使用 智能 GitHub Copilot 副驾驶,可以非常轻松地创建小型演示和代码示例。基本上,我只需要知道如何用我想要的语言来表达评论。然后,我只需将所需的算法编写为注释,具体取决于 霍尔格苏特尔 Holger 自 2006 年以来一直在

    70、 Microsoft 担任云解决方案架构师。他支持企业客户构建基于云的应用程序体系结构 作为量子计算大使,他对于量子计算的主题充满热情。#Developer#CrossLanguage 提示 8:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 40 客户要求用德语或英语。然后,智能 GitHub Copilot 副驾驶 会自动将我的请求转换为适当的代码。这是一份小作弊表,用于对我最重要的脚本和编程语言的评论:语言 单行注释 多行注释 巴什#注释:评论 C#评论/*评论*/C+评论/*评论*/CSS 的/*评论*/*评论*/HTML 全文 爪哇岛 评论/*评论*/JavaSc

    71、ript 的 评论/*评论*/PHP 的 评论/*评论*/PowerShell 的#注释 蟒#注释“”“评论”“”当然,这种方法有其局限性。为了创建更大的软件解决方案,了解所需编程语言的结构和结构至关重要。但特别是对于较小的项目、快速解决方案和对现有软件的补充,智能 GitHub Copilot 副驾驶 提供了巨大的帮助。智能 GitHub Copilot 副驾驶 节省了时间并使工作更轻松,因为我不必将编程语言的每个细节都放在脑海中。总的来说,我对 智能 GitHub Copilot 副驾驶 提供的可能性感到兴奋。这是一个强大的帮助我将对编程的热情转化为客户项目的工具。我只能建议大家尝试一下这

    72、个工具,并让自己相信它的效率和简单性。因为归根结底,编程不仅仅是编写代码,而是解决问题和实现想法。而这正是 智能 GitHub Copilot 副驾驶 帮助我的地方。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 41 使用 智能 GitHub Copilot 副驾驶 Chat 自动执行开发工作 by 罗宾-曼努埃尔蒂尔 与 ChatGPT 类似,智能 GitHub Copilot 副驾驶 提供了一个文本界面,允许您通过所谓的提示以自然语言与 AI 进行交流。此外,可以查阅一个或多个相关的源代码文件或部分来回答问题。与大多数对 AI 的自然语言指令一样,输入的信息结构(所谓

    73、的提示)在 智能 GitHub Copilot 副驾驶 Chat 中起着重要作用。以最佳方式为 AI 准备提示的学科称为提示工程。重复性任务通常遵循一定的模式。我们通过提示将完成这些任务的指示传达给 AI 越清晰,我们成功的机会就越大。帮助我们构建提示以便 AI 可以更好地处理和更精确地回答提示的一些方面如下:举例说明。使用分隔符构建提示,并将请求与上下文信息分开。带有 Markdown 语句的代码块应进行标记。示例:将源代码转换为云基础架构 前段时间,在一个客户项目中,我接到的任务是在 SQL 数据库中为具有情感评估的大型枚举的每个值创建一个新表。罗宾-曼努埃尔蒂尔 白天,罗宾-曼努埃尔(r

    74、obinmanuelt)是全球黑带 致力于云原生架构和 AI 应用。晚上,在互联网上分享自己热爱的一切事物#Automation#Chat#Developer#Transformation 提示 9:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 42 enum Sentiment Happy=happy,Excited=excited,Content=content,Joyful=joyful,Optimistic=optimistic,Amused=amused,Pleased=pleased,Relieved=relieved,Grateful=grateful,In

    75、spired=inspired,Proud=proud,Playful=playful,Satisfied=satisfied,Hopeful=hopeful,Serene=serene,Jubilant=jubilant,Ecstatic=ecstatic,Elated=elated,Blissful=blissful,Radiant=radiant,Merry=merry,Enthusiastic=enthusiastic,Cheerful=cheerful,Whimsical=whimsical,Eager=eager export default Sentiment;几年前繁琐的工作现

    76、在可以在 智能 GitHub Copilot 副驾驶 Chat 的帮助下在几秒钟内轻松自动化。因此,我标记了所有枚举代码,并使用以下第一个提示调用了 智能 GitHub Copilot 副驾驶 Chat:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 43 创建一个 SQL 脚本,该脚本为枚举的每个值创建一个新表。表名应为枚举值本身。该表由以下列组成:ID(主键)、文本、分数。结果相当发人深省:下面是一个 SQL 脚本,用于为枚举的每个值创建一个新表。CREATE TABLE happy(ID INT PRIMARY KEY,Text VARCHAR(255),Score

    77、INT);我得到了 SQL 命令,该命令从单个枚举值创建了一个我喜欢的表。但是,表名以小写字母开头(不符合我们的准则),并且仅适用于单个值。在这一点上,如果我更改了大写或小写,我本可以改进初始提示。表名的小写。此外,我本可以在文本中给出指示,一次只创建一个带有一个 SQL 命令的脚本,以在枚举中为每个值创建一个表。在多次迭代中不断优化提示可能花费与使用已获得的信息手动编写 SQL 脚本一样多的时间。将结果引导至所需方向的一种更有效的方法是在提示工程中添加具体示例。因此,我使用第一个答案的见解来构建第二个提示,该提示以 例子:创建一个 SQL 脚本,该脚本为枚举的每个值创建一个新表。表名应为枚举

    78、值本身。该表由以下列组成:ID(主键)、文本、分数。-例:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 44 CREATE TABLE Happy(ID INT PRIMARY KEY,Text VARCHAR(255),Score INT);CREATE TABLE Excited(ID INT PRIMARY KEY,Text VARCHAR(255),Score INT);结果令人印象深刻,这一次,它完美地补充了提示符中的示例脚本,并添加了枚举的剩余值。甚至表名的大小写,我没有明确提到,只在示例中列出,这次被 智能 GitHub Copilot 副驾驶 考虑在内。通

    79、过一些技巧,例如从第一个答案中添加一个示例,并用连字符清楚地将指令和示例分开,可以在不改写的情况下将提示引导到正确的方向。结果 智能 GitHub Copilot 副驾驶 Chat 的真正力量在于它能够理解现有代码。将枚举转换为 SQL 命令时,智能 GitHub Copilot 副驾驶 需要理解枚举的上下文,并生成不仅语法正确,而且语义有意义的代码。对于重复性任务和从一种技术到另一种技术的语义转换,智能 GitHub Copilot 副驾驶 Chat 是开发人员的游戏规则改变者。对于需要理解现有代码并需要适应另一种技术的任务来说尤其如此。这就是 智能 GitHub Copilot 副驾驶 C

    80、hat 发挥作用的地方。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 45 与 AI 驱动的、基于聊天的结对程序员交互不仅可以节省时间,还可以最大限度地减少人为错误并提高开发人员的工作效率,使他们能够专注于软件开发中有趣、具有挑战性和重要的任务。从现在开始,我们将把无聊的部分留给 AI。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 46 更好的提示以获得更好的代码-开发人员的提示和技巧 by 克里斯蒂安温兹 智能 GitHub Copilot 副驾驶 的产品演示和会议演示侧重于生成工作代码有多么容易。选定的测试方案相似且准备充分。在实践中,使用 智能

    81、 GitHub Copilot 副驾驶 并不总是那么容易,因为琐碎的任务与复杂的需求交替出现。智能 GitHub Copilot 副驾驶 可能并不适合每个用例,在有的情况下,使用 智能 GitHub Copilot 副驾驶 生成代码并不总是像在理想条件下显示的那样流畅。“垃圾输入,垃圾输出”是座右铭或者说得更积极一些:提示的质量对生成的代码的质量有重大影响。出于这个原因,“提示工程”这一特殊学科已经存在了好几年例如,相应的维基百科条目是在 2021 年 10 月创建的。优化的提示会带来更好的结果。对于 智能 GitHub Copilot 副驾驶,这既适用于直接提示,也适用于 智能GitHub

    82、Copilot 副驾驶 可以处理的代码中的注释。但一如既往,“视情况而定”;没有一个放之四海而皆准的解决方案适用于每个应用。但是,遵循一些准则将有助于获得良好的结果:1.保持清晰明确 如果您雇用一个开发团队来为待办事项列表创建应用程序,您可能无法得到预期的结果。例如,缺乏有关目标系统、所需功能、UX 等的信息。精度是这里的关键 克里斯蒂安温兹 克里斯蒂安(chwenz)是网络先驱,技术专家和企业家。自 1999 年以来,他在网络上出版了许多技术和相关主题的书籍 并被翻译成 11 种语言。他主要致力于推动企业数字化转型和工业 4.0。自 2004 年以来,他一直是 Microsoft 开发人员的

    83、 MVP#Developer#Prompts 提示 10:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 47 关键因素:要求越具体,结果就越能准确地匹配要求。对于像 智能 GitHub Copilot 副驾驶 这样的软件工具来说更是如此。制定 正是您想要的,并省略不相关的细节(请参阅第 2 点的例外情况)。措辞还应清晰易懂和可实施,即如果可能的话,没有否定,但有明确的指示和要求。2.语境为王 提示开始时最好像用户故事一样:解释上下文。最重要的问题是:代码应该做什么?一个典型的示例是用于待办事项列表的应用程序,因此您正好使用此语句开始提示。这使系统一方面可以考虑该领域的现有

    84、解决方案,另一方面可以为要创建的解决方案定义概念。接下来是要实现的各个功能。3.一步一步走向成功 与编程本身一样,通过 智能 GitHub Copilot 副驾驶 提供的代码支持也是一个迭代过程。很少,第一卷已经与期望的最终结果相对应。无论是通过 智能 GitHub Copilot 副驾驶 还是自己干预代码,总有改进的余地。因此,在代码中单独指定各个必需的任务是有意义的。不是一次全部,而是连续的步骤。例如,在创建 API 时,可以先生成数据模型,然后可以实现端点。当然,也可以一次完成所有操作,例如指定上下文(参见第 2 点),然后指定包含相关功能的项目符号列表。但是,在这种情况下,只有在整个代

    85、码就位后才能进行干预。使用迭代方法,可以更早地进行更正。4.继续举例说明 对一个人来说似乎不言而喻的事情可能会给其他人带来悬而未决的问题。在提示工程中,指定要生成的功能的输出作为示例通常很有帮助。数据结构也以示例的处理方式进行生成。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 48 此示例规范对于代码卫生方面非常重要:智能 GitHub Copilot 副驾驶 可以考虑标识符的命名方案和任何现有的代码样式。最后,代码看起来(几乎)好像是人类编写的。5.说请和谢谢 不,真的!这与在 IT 圈子里流行的动画片无关,其中机器人 接管世界,但放过一个在与人工智能系统交流时总是说“

    86、请”和“谢谢”的人。但有明显的迹象表明,礼貌地处理计算机系统既改善了一个人的情绪,也改善了个人互动。而且,老实说如果使用得当,我们可以通过快速生成的结果节省礼貌短语的额外打字工作,对吧?智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 49 提示 11:有意义的函数名称和变量 作者:Suad Wolgram 有效使用 智能 GitHub Copilot 副驾驶 的一个关键因素是使用描述性函数名称。因此,我想向你展示如何通过使用更好的函数名称来帮助 智能 GitHub Copilot 副驾驶 生成更准确的代码建议。让我们看一下使用以下代码示例的方案。在 fetch()函数中,我

    87、们希望通过 Star Wars API 检索所有 Star Wars 角色:苏阿德沃尔格拉姆 Suad 任职 white duck 公司 TH-Rosenheim(罗森海姆应用技术大学)学习计算机科学#Developer 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 50 在这种情况下,很明显 智能 GitHub Copilot 副驾驶 不理解我们试图通过 fetch()方法实现的目标。因此,我们目前无法收到任何合适的建议。一种解决方案是用描述性函数名称替换 fetch(),该函数名称准确描述了该方法应该做什么。一旦上下文更清晰,智能 GitHub Copilot 副驾驶

    88、 立即提出建议以实现我们的预期目标:在这种情况下,智能 GitHub Copilot 副驾驶 甚至识别了我们的 starWarsUrl 变量,并将其集成到解决方案中。作为第二个示例,我们假设我们想要计算星球大战宇宙中一颗行星的居民数量,并返回在可观察地图中获得的信息。和以前一样,我们将选择一个有意义的方法名称,并指定我们想要返回的确切内容。此外,我们定义了一个名为 planetCitizenCount 的变量:智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 51 一旦我们开始插入逻辑,智能 GitHub Copilot 副驾驶 就会根据所选的方法名称和适当的变量名称识别上下

    89、文,并向我们提供适当的实现建议。我们还可以看到,由于上下文清晰,智能 GitHub Copilot 副驾驶 正确使用了该变量。提示 12:支持使用 智能 GitHub Copilot 副驾驶 创建测试用例 作者:乔尔齐默利 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 52 在测试驱动开发(TDD)中,编写单元测试是最重要但通常非常耗时的任务之一。在本文中,我将向您展示如何使用 智能 GitHub Copilot 副驾驶 高效、全面地编写我的测试,从而为实际开发留出更多时间。作为一个具体的例子,我使用了一个 dotnet 应用程序,其中存储了属性及其销售价格。搜索功能允许

    90、按价格范围进行过滤。为了实现这个过滤器,我编写了一个工厂,它根据最低和最高价格创建一个比较函数。此功能的代码片段如下图所示:static ExpressionFunc PriceIsInRangeFilter(int?minPrice,int?maxPrice)var expressionBuilder=PredicateBuilder.New(true);if(minPrice.HasValue)expressionBuilder.And(PriceHigherThanFilter(minPrice.Value);if(maxPrice.HasValue)expressionBuilder.

    91、And(PriceLowerThanFilter(maxPrice.Value);return expressionBuilder;要使用 智能 GitHub Copilot 副驾驶 进行自动测试生成,我将从创建测试名称开始。此名称描述正在测试哪个对象、正在调用哪个函数以及预期的结果。这种命名结构在测试领域被广泛使用。这使得 智能 GitHub Copilot 副驾驶 可以自动生成整个测试,如下图所示。乔尔齐默利 作为一名全栈软件开发人员,具有各种编程语言经验 如 Java、C#和 TypeScript 等 乔尔专注于测试驱动开发(TDD)。#CSharp#UnitTest#Developer

    92、#XUnit 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 53 然后,应使用不同的房地产价格来测试该测试。为此,可以使用该测试 如下图所示。智能 GitHub Copilot 副驾驶 还可以生成检查参数,如下图所示。Theory Fact public void HouseQueryToExpression_ShouldEvaluateCorrectly ()/Arrange var query=new HouseQuery()UpperPriceLimit=100,LowerPriceLimit=0 ;var house=new HouseDocument()Id=h

    93、ouse,Name=house,Price=50 ;/Act var expression=query.ToExpression();var result=expression.Invoke(house);/Assert result.Should().BeTrue();Theory public void HouseQueryToExpression_ShouldEvaluateCorrectly(int?upperLimit,int?lowerLimit,int housePrice,bool expected)/Arrange var query=new HouseQuery()Uppe

    94、rPriceLimit upperLimit,=LowerPriceLimit lowerLimit=;var house=new HouseDocument()Id =house,Name =house,Price =housePrice ;/Act var expression=query.ToExpression();var result=expression.Invoke(house);/Assert result.Should().Be(expected);智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 54 InlineData(100,0,50,true)pu

    95、blic void HouseQueryToExpression_ShouldEvaluateCorrectly(int?upperLimit,int?lowerLimit,int housePrice,bool expected)通过多次生成参数,您可以获得大量的可能性,如下图所示。但是,建议仔细考虑并重新考虑此列表。Theory InlineData(100,0,50,true)InlineData(100,0,99,true)InlineData(100,0,1,true)InlineData(100,0,150,false)InlineData(100,50,150,false)Inl

    96、ineData(100,150,200,false)InlineData(100,0,0,false)InlineData(100,100,100,false)InlineData(100,100,0,false)InlineData(null,null,0,true)InlineData(100,null,0,true)InlineData(100,null,101,false)InlineData(null,100,101,true)InlineData(null,100,99,false)public void HouseQueryToExpression_ShouldEvaluateC

    97、orrectly(int?upperLimit,int?lowerLimit,int housePrice,bool expected)通过这些步骤,智能 GitHub Copilot 副驾驶 可以帮助您在不同场景中高效创建测试。将智能 GitHub Copilot 副驾驶 用于您的项目 我们作者的这 12 个技巧让我们很好地了解了 智能 GitHub Copilot 副驾驶 的迷人可能性但所提供的示例只是冰山一角,说明这个创新工具如何彻底改变您的开发过程。要体验 智能 GitHub Copilot 副驾驶 的全部功能,最好亲自尝试一下 AI Pair Programmer。将其集成到您的工作

    98、流程中可能会产生重大影响,无论是加快日常活动还是激发新的开发方法。智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 55 当然,我们也期待您获得有关如何使用 智能 GitHub Copilot 副驾驶 的经验和提示。我们邀请您分享您自己的见解和建议。他们的宝贵见解可能会在我们下一版白皮书中找到一席之地,并帮助其他开发人员充分利用 智能 GitHub Copilot 副驾驶。请随时通过 电子邮件地址与我们联系。创新是软件开发的核心,而智能 GitHub Copilot 副驾驶 无疑是游戏规则的改变者。借此机会提升您的编码体验,加入我们,共同塑造软件开发的未来。智能 GitHub

    99、 Copilot 副驾驶 技巧和窍门 Vol.1 56 今天就开始吧 如果您想在不浪费时间的情况下了解有关 Azure 云平台的更多信息,请立即开始:请联系您的 Microsoft 客户经理 联系 Azure 销售人员|Microsoft Azure 的 查找 Microsoft 合作伙伴 查找经验丰富的 Azure 合作伙伴|Microsoft Azure 的 了解有关开发人员生产力的更多信息 Azure-开发人员-生产力|Microsoft Azure 的 相关资源 特性 von 智能 GitHub Copilot 副驾驶 智能 GitHub Copilot 副驾驶 文档 智能 GitHu

    100、b Copliot 副驾驶 快速入门 VS Code 中的 智能 GitHub Copilot 副驾驶 智能 GitHub Copilot 副驾驶 实验室 智能 GitHub Copilot 副驾驶 基础知识:了解 AI 配对程序员 GitHub 和 Visual Studio Code 入门 什么是 Visual Studio 的 智能 GitHub Copilot 副驾驶 扩展?智能 GitHub Copilot 副驾驶 信任中心 智能 GitHub Copilot 副驾驶 技巧和窍门 Vol.1 57 GitHub 博客 2024 Microsoft。保留所有权利。其他公司的名称和产品可能会被注册 各自权利人的商标。本文档按原样提供。本文档中包含的视图和信息(包括 URL 和对网站的其他引用)如有更改,恕不另行通知。使用风险由您自行承担。本文档不授予您任何 Microsoft 产品的任何知识产权。您可以复制本文档并将其用于内部参考目的。