V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
per
V2EX  ›  GitHub Copilot

GitHub 官方发布了 AI 代码补全功能

  •  2
     
  •   per · 2021-06-29 23:01:58 +08:00 via iPhone · 14903 次点击
    这是一个创建于 1247 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://copilot.github.com/

    这是不给 tabnine 活路啊
    71 条回复    2021-07-02 22:48:29 +08:00
    secsilm
        1
    secsilm  
       2021-06-29 23:05:00 +08:00 via Android
    tabnine 经常有错的,坑了我好几回,后来不用了
    IgniteWhite
        2
    IgniteWhite  
       2021-06-29 23:06:06 +08:00
    厉害了,VSCode 出现了不可替代的功能。这不比前段时间人们说的无代码香?
    AkideLiu
        3
    AkideLiu  
       2021-06-29 23:45:00 +08:00 via iPhone
    🐮tabnine 刚开始送 student license
    Hsinyao
        4
    Hsinyao  
       2021-06-29 23:46:45 +08:00 via iPhone
    两年前 vscode 有这种插件,我觉得挺牛逼的,就是要吃超多内存
    7gugu
        5
    7gugu  
       2021-06-29 23:47:00 +08:00
    登记了,不知道什么时候能够收到回复🤷‍♂️
    Hsinyao
        6
    Hsinyao  
       2021-06-29 23:47:03 +08:00 via iPhone
    不知道现在这个怎么样
    WebKit
        7
    WebKit  
       2021-06-30 00:00:10 +08:00 via Android
    只能在 vscode 里面用吗?
    westoy
        8
    westoy  
       2021-06-30 00:19:33 +08:00   ❤️ 9
    万一写商业软件的时候它过拟合, 直接塞了一行 GPL 的代码进去怎么办.......
    line
        9
    line  
       2021-06-30 00:34:46 +08:00
    希望 VIM 也能用
    IgniteWhite
        10
    IgniteWhite  
       2021-06-30 00:35:46 +08:00
    @line Neovim 还有两天就发布 0.5 正式版了,tree-sitter 已经是 LSP 大革新了,可以试试
    sytnishizuiai
        11
    sytnishizuiai  
       2021-06-30 01:12:59 +08:00
    github 支持的语言不多,tabnine 还没体验到好不好 但是包年也太贵了。
    R0ckyY2
        12
    R0ckyY2  
       2021-06-30 06:01:07 +08:00   ❤️ 1
    @IgniteWhite treesitter 的正式支持已经改成了 neovim 0.6 了
    IgniteWhite
        13
    IgniteWhite  
       2021-06-30 06:05:57 +08:00
    @R0ckyY2 原来如此
    ynyounuo
        14
    ynyounuo  
       2021-06-30 07:08:18 +08:00 via iPhone
    @sytnishizuiai (早买早享受,29 刀终身
    Trim21
        15
    Trim21  
       2021-06-30 07:42:10 +08:00 via Android
    我记得微软有一个 ai 自动补全的东西来着?叫 Intellience Code 啥的
    Trim21
        16
    Trim21  
       2021-06-30 07:55:56 +08:00 via Android
    一上来第一个例子好怪啊,从原本的代码里怎么就能补全出 label 属性的…
    NilChan
        17
    NilChan  
       2021-06-30 08:17:36 +08:00 via Android
    有没有单独的 vscode 插件?
    mcoo1997
        18
    mcoo1997  
       2021-06-30 08:30:38 +08:00 via Android   ❤️ 7
    太棒了 我新建个空文档等给我补全整个项目
    Leviathann
        19
    Leviathann  
       2021-06-30 08:41:06 +08:00 via iPhone
    idea 用 tabnine 好卡
    我换成了 aixcoder 了
    leokino
        20
    leokino  
       2021-06-30 08:41:58 +08:00
    @Trim21 IntelliSense 只是 static analysis 。
    github 这个是真的 AI
    Shook
        21
    Shook  
       2021-06-30 09:01:44 +08:00
    tabnine 不好用,基本只会纠正单词,却又经常给出一堆没用的选项占用前排的 context menu 空间,后来就给禁用掉了。
    不知道 google 这个怎么样。
    winterbells
        22
    winterbells  
       2021-06-30 09:07:33 +08:00
    @secsilm #1 tabline 不支持自动导入包吧还是我设置不对?用了几天后也放弃了……
    mrcotter2013
        23
    mrcotter2013  
       2021-06-30 09:11:33 +08:00
    已申请,不知道能不能拿到 early access

    Tabnine 用过很短一段时间,没有什么用处的感觉.... JS/Node.js 开发
    lneoi
        24
    lneoi  
       2021-06-30 09:24:05 +08:00
    之前用 Tabnine 太占资源了
    no1xsyzy
        25
    no1xsyzy  
       2021-06-30 09:28:53 +08:00
    @Trim21 感觉像是从函数签名推断出这个 positive 是指分析出来的 text 的语义是正面的积极的,从而拟合到了常见的语义分析 API 返回体结构。

    ——

    我觉得不行,这东西写出来我是不是还得 Review 一遍?
    它没写对的部分是不是我等于还得改?都知道读代码、改代码比写代码难一万倍。
    xdeng
        26
    xdeng  
       2021-06-30 09:36:15 +08:00
    微软 yyds
    ansonsiva
        27
    ansonsiva  
       2021-06-30 09:49:10 +08:00
    Xcode 好好学学!!!
    iamobj
        28
    iamobj  
       2021-06-30 09:55:20 +08:00
    @ynyounuo 好奇终身是怎么买的
    ynyounuo
        29
    ynyounuo  
       2021-06-30 09:58:42 +08:00 via iPhone
    @iamobj 初期还未被收购的时期就是这个价格
    n1dragon
        30
    n1dragon  
       2021-06-30 10:03:57 +08:00
    这是要替代码农的节奏吗?五年后。项目经理喝着咖啡,打开 vscode,点击 generate code,然后点击 go-live 。
    monkeyWie
        31
    monkeyWie  
       2021-06-30 10:22:54 +08:00
    有大佬知道首页这个代码演示的特效是什么库做的吗?
    Jooooooooo
        32
    Jooooooooo  
       2021-06-30 10:23:32 +08:00   ❤️ 1
    已经让它帮我上班了.
    raycool
        33
    raycool  
       2021-06-30 10:36:44 +08:00
    没有人用 kite 吗?
    shyrock
        34
    shyrock  
       2021-06-30 10:42:43 +08:00   ❤️ 2
    快进到 Ai 写好代码,程序员 review 。
    Kyle18Tang
        35
    Kyle18Tang  
       2021-06-30 10:43:46 +08:00
    @raycool #33 刚刚想试试的, 但是去官网下载现在不能下了
    shyrock
        36
    shyrock  
       2021-06-30 10:44:37 +08:00
    看动画的意思是,程序员在函数说明里面清晰定义函数的功能,然后 Ai 根据说明写代码?
    那些英文不好的程序员完犊子了。。。
    James369
        37
    James369  
       2021-06-30 11:27:06 +08:00
    漂亮,码农的春天~~
    javen73
        38
    javen73  
       2021-06-30 11:31:55 +08:00
    加速内卷
    winiex
        39
    winiex  
       2021-06-30 11:37:06 +08:00   ❤️ 5
    这是 Github 的一小步,但是我们码农阶级往前迈进的一大步:

    1 、不用再通过 Google 搜索进入 Github 复制代码了,中间商不再挣差价;
    2 、无缝对接 GPL 证书代码,让整个项目瞬间开源,促进开源世界发展;
    3 、凭运气和实力,瞬间引入大厂员工不小心公布到 Github 的代码片段,不用再担心性能优化问题了,让你的代码有味道;
    4 、以行数计价薪水和工作产出的公司将不再是被吐槽的对象,而是大家争相入职的目标;
    5 、不用再担心写不出链表反转和二分查找;
    6 、世界码农大团结。
    unnamedhao
        40
    unnamedhao  
       2021-06-30 11:39:49 +08:00
    我就好奇这个服务将来的域名连通性怎么样
    alexsunxl
        41
    alexsunxl  
       2021-06-30 12:09:53 +08:00
    @unnamedhao 连通性没关系的,做个源代理也不是啥费劲的事情。关键还是得看质量。能不能生产力大爆炸
    Lemeng
        42
    Lemeng  
       2021-06-30 12:16:14 +08:00
    挺好的
    jasy
        43
    jasy  
       2021-06-30 12:32:27 +08:00
    mark 看样子还是很智能的,希望不要是吃资源大户就行了
    unnamedhao
        44
    unnamedhao  
       2021-06-30 12:36:11 +08:00
    这就开始考验大家的起名能力了
    ericgui
        45
    ericgui  
       2021-06-30 13:29:28 +08:00
    @sytnishizuiai 是的,tabnine 太贵了,copilot 貌似的免费的,肯定用免费的
    ericgui
        46
    ericgui  
       2021-06-30 13:30:19 +08:00
    @ynyounuo tabnine 12 美元一个月,哪里来的 29 美元终身?
    ynyounuo
        47
    ynyounuo  
       2021-06-30 13:42:07 +08:00 via iPhone
    @ericgui 早期价格,我之前回复过了
    RockShake
        48
    RockShake  
       2021-06-30 13:44:29 +08:00
    Tabnine 支持教育网邮箱,对学生还蛮友好的
    hronro
        49
    hronro  
       2021-06-30 14:15:56 +08:00
    @IgniteWhite #10
    还有两天发 0.5 正式版,这个哪里得到的消息啊?
    zagfai
        50
    zagfai  
       2021-06-30 14:40:01 +08:00
    怎么我用的 tabline 免费?。。
    ynyounuo
        51
    ynyounuo  
       2021-06-30 14:47:19 +08:00   ❤️ 1
    IgniteWhite
        52
    IgniteWhite  
       2021-06-30 15:52:00 +08:00 via iPhone
    @hronro 对就是 @ynyounuo 说的。我是在 reddit 看到的。他们会在 TJ 的 twitch 频道直播发布哈哈。TJ 有时候在 twitch 直播自己写 lua,包括 telescope 之类的 treesitter 插件,看的我也想用 treesitter,于是各个机器都换成了 0.5
    loadingimg
        53
    loadingimg  
       2021-06-30 16:01:06 +08:00
    我用的这个 Sourcery
    https://sourcery.ai/
    bxb100
        54
    bxb100  
       2021-06-30 16:33:05 +08:00
    微软 YYDS
    Cloutain
        55
    Cloutain  
       2021-06-30 17:16:43 +08:00
    支持了 VSCode,那么支持 VS 也是迟早的事情
    wpblank
        56
    wpblank  
       2021-06-30 17:32:05 +08:00
    出一个根据我的代码自动生成注释和函数名的功能就更好了
    newmlp
        57
    newmlp  
       2021-06-30 17:37:26 +08:00
    @Cloutain vs2019 本来就有吧
    IgniteWhite
        58
    IgniteWhite  
       2021-06-30 17:37:27 +08:00
    @wpblank 自动生成注释不需要 AI,静态分析即可,Sphinx 就能自动生成 docstring 。函数名也许需要
    Trim21
        59
    Trim21  
       2021-06-30 18:05:38 +08:00 via Android
    除了第一个很奇怪(
    感觉后面的例子都效果好的我不敢相信。

    不知道实际体验效果如何。
    agdhole
        60
    agdhole  
       2021-06-30 19:47:44 +08:00
    idea 能用就好了
    sillydaddy
        61
    sillydaddy  
       2021-06-30 20:06:09 +08:00
    创意工作者的福音
    molvqingtai
        62
    molvqingtai  
       2021-06-30 20:08:26 +08:00 via Android
    希望比 tabnice 好用
    akira
        63
    akira  
       2021-06-30 20:36:47 +08:00   ❤️ 1
    @winiex
    @westoy
    GitHub Copilot is a code synthesizer, not a search engine: the vast majority of the code that it suggests is uniquely generated and has never been seen before. We found that about 0.1% of the time, the suggestion may contain some snippets that are verbatim from the training set. Here is an in-depth study on the model’s behavior. Many of these cases happen when you don’t provide sufficient context (in particular, when editing an empty file), or when there is a common, perhaps even universal, solution to the problem. We are building an origin tracker to help detect the rare instances of code that is repeated from the training set, to help you make good real-time decisions about GitHub Copilot’s suggestions.

    根据这段说明,代码是现生成出来的, 只有 0.1% 的情况会包含训练集 的代码片段
    qdwang
        64
    qdwang  
       2021-06-30 20:58:58 +08:00
    感觉是一种,自动完成的进化版->超级自动完成。
    akira
        65
    akira  
       2021-06-30 22:35:20 +08:00
    @qdwang 有本质上的差别。 以前是根据关键字之类的 填充代码,现在是分析你的 语义 ,包括注释,样本数据,函数名称等,来生成代码
    P233
        66
    P233  
       2021-07-01 01:13:50 +08:00
    为啥都说 tabnine 难用? 我觉得补全很精准呀
    P233
        67
    P233  
       2021-07-01 01:21:07 +08:00
    Leviathann
        68
    Leviathann  
       2021-07-01 01:24:52 +08:00 via iPhone
    @P233 写 Java 、js 、ts 和 idea 自带的补全没法比,而且会默认把原生的比较精确的补全挤到下面去
    P233
        69
    P233  
       2021-07-01 01:40:52 +08:00
    @Leviathann emacs / company 可以配置只摘取 tabnine 匹配度最高的两项,排在补全的 1 2 位 (或者 3 4 位),然后其他位置从 lsp 的补全建议里去重后再排列。这样互相搭配,效果不错的。

    感觉 tabnine 一大的优势是分析上下文的 pattern,减少一些重复性输入,另外一个优势是补全常见的写法定式。
    efaun
        70
    efaun  
       2021-07-01 05:17:52 +08:00
    @Leviathann #19 java 用 codota 更好一点
    morty0
        71
    morty0  
       2021-07-02 22:48:29 +08:00
    @shyrock 快进到 AI 写代码, 另一个 AI review
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5702 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:40 · PVG 14:40 · LAX 22:40 · JFK 01:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.