精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

維護VS Code開源項目背后的那些事情

開源
加入 Visual Studio Code 快一年,趁這個機會聊一聊開發和維護這個項目的感受。以下為個人理解,不代表公司也不代表團隊。

本文作者 rebomix 是微軟重要的開源項目之一 Visual Studio Code (常簡稱 VS Code)的維護團隊成員,在此分享了維護 VS Code 過程中的一些見聞和感想,可以讓我們一窺這種由企業支持的大型開源項目是如何運作的。

也希望此文可以讓國內對 VS Code 開發、使用感興趣的同學更多的了解和參與 VS Code 的社區開發。

加入 Visual Studio Code 快一年,趁這個機會聊一聊開發和維護這個項目的感受。以下為個人理解,不代表公司也不代表團隊。

項目

Visual Studio Code 的目標是做一個 Lightweight Editor,通過的擴展 api,讓用戶在 VS Code 中達到和 IDE 中接近的開發體驗(效率)。

不過很多群眾對 VS Code 有諸多誤解,我先來一一解答

1、“VS Code 師出 VS,是 VS 找了一群人來重寫的,復用了很多 VS 的代碼,等等“。

很抱歉,并不是這樣,半毛錢關系也沒有。VS Code 的核心代碼,也就是 Microsoft/monaco-editor 是 Erich Gamma 2011 年加入微軟后,招聘的一支“全新”的隊伍進行開發的。Monaco editor 從一開始就是一個基于瀏覽器的編輯器,早期一直服務于各個微軟系統中(比如 Visual Studio Online,OneDrive online)。招聘的這支隊伍對于 Erich 來說并不是新的,因為大部分成員都是其原先 IBM 的老部下,其中幾位大爺跟著 Erich 擼了二十多年代碼了。

2、"VS Code 是 Atom 的復刻,是對 Atom 的魔改,是 Atom 的一個主題!"。

很抱歉,并不是這樣,但還是有幾毛錢關系的。Monaco Editor 在經歷幾年的高光期,進入了一個小小的黑暗時代。這時候團隊成員開始調研將 Monaco Editor 做成桌面應用,和 Atom 一樣,我們首先關注到的就是 node-webkit。必須說 node-webkit 是業界的一縷清風,給這個產業帶來了太多的可能性。當然***我們選用了 atom-shell,也就是后來的 Electron。但就是這個 atom-shell,給大家帶來了以上的誤導。

***,我們一定要尋根問祖的話,VS Code 應該是師出 Eclipse(同志們,哎你們怎么扭頭走人了,別怕,我話沒說完呢)。團隊核心的幾位大爺,早年就跟著 Erich,在寫了幾個 Editor/IDE 之后,創造了 Eclipse。正是因為見證了 Eclipse 的興衰,所以這一次在設計 Monaco/VS Code 的時候,才會如此的克制。Extensibility 不好嗎?當然好,但是 Eclipse 的弊端已經在一些競爭對手身上出現啦。

開發/維護

我 13 年加入微軟后,就開始接觸到 Monaco 了。在使用的過程中踩了一些坑,研究過代碼,做過好一些擴展。所以在 VS Code 正式開源后以及上線 Marketplace 后,我就開始動手寫一點插件和發 Pull Request。去年五月得空和團隊結對編程了兩個禮拜后,就加入了 VS Code。

VS Code 的開發幾乎完全是公開的。早期我們還通過 User Voice 收集反饋,但我們早就把它關掉了,所有問題的處理都放在 GitHub 上。我們的 Yearly/Monthly plan 都以 issue 的形式呈現在 Microsoft/vscode 上,而我個人正常的開發節奏是這樣的:

計劃

在上一個 milestone 快結束、新的 milestone 開始的***周,和老板溝通新的 milestone 自己想做的功能。以及自己要不要休假。

Debt Week

我們把新 Milestone 的一周當作 debt week,集中處理一些技術債,以及為一些插件做點微小的貢獻。我一般會花一點時間在 Vim 插件以及我自己的 Ruby 插件上。

開發

這之后就是兩到三周正常的開發。每天起床得先把自己頭上的新 issue 都 triage 一遍,遇到緊急的得先修,不然就繼續完成自己的 feature。

Inbox Tracking

我加入團隊的時候,我們只有 1700 個左右的 issue,現在已經破 4000 了(大部分都是 feature request)。GitHub Inbox 在這種情況下是無用的,我們的做法是每周會有一名同事,負責 GitHub 的新 issue,assign 給合適的 owner。我已經當過三次 Inbox Tracker,只能用可怕來形容。每天一睜眼就是一百多個 issue 要處理,一點都不想起床。

Endgame

我們在 milestone 的***一周 endgame 會對新 feature 進行各種花樣的測試,對這個 milestone 關掉的所有 issue 進行驗證。全部完成后,每個成員書寫自己負責部分的 release note。*** Endgame master 會到后臺網站發布新的 Stable 版本。

印象深刻的事

當之無愧就是“在空閑時,VS Code 由于渲染閃爍的光標而占用了 13% 的 CPU”。VS Code 是基于 Electron 的,而 Electron 則基于 Chromium。這樣的話,Chromium 的鍋有時候得我們來背。

VS Code 里的編輯區域并不是 textarea ,全都是 mock 的,這也是主流做法,Ace、CodeMirror、Atom 無不例外。理由也很簡單,要實現 Tokenize、高亮、Partial Render、Line Wrap,自己控制渲染肯定是最方便的。為了盡可能模擬 textarea,我們模擬了光標。最開始這個光標的跳動,是通過 JavaScript 來控制光標的 opacity。后來社區給我們貢獻了一個 pull request,使用 CSS animation 來調整 opacity。實現上來說肯定是比 JavaScript 版本更優雅,同時也提供了四五種不同的光標跳動的選項。

但誰知道,Chromium 對于 CSS Animation 是有巨大的坑的。比如你寫的 animation 是每秒改變一次 opacity,但是 Chromium 會根據刷新率(比如 60hz)來檢測頁面上的 animation。雖然我不知道 Chromium 做了什么,但是你可以看到每16ms,Chromium 就會吃掉一點你的 CPU 和 Battery

 

維護VS Code開源項目背后的那些事情

真的是一點辦法沒有。我們起初沒有發現這個問題,直到 broccoli 的作者 Jo Liss 給我們發了 issue,并且在 Twitter 上爆我們,瞬間就成了 Twitter 上大新聞。連 Miguel de Icaza 都點贊了,真的是……

當時我剛吃完晚飯,但是由于這個事情在我的防區,我只好開電腦 troubleshoot。***發現是 Chromium 的 bug,開了兩年多了,我只好告訴 Jo Liss,這鍋我們不背,但是我們會修的。

結果之后好事者把事情捅到了 HackerNews,瞬間成了當天大新聞,還上了 TheRegister 小報。所有人都開始討論使用 Browser 技術做桌面應用是不是正確的選擇,撕的不亦樂乎。

你們撕的倒是開心了,我那幾天給各種老板解釋什么是跳動的光標,忙的跟狗一樣。好在后來 Chromium 的 PM lead Paul Irish 留言表示這是他們的 bug,算是***收官了。

有沒有什么奇葩的 issue 或者 PR?

  1. 你們猜大家看到中文寫的 issue 會找誰來翻譯?
  2. 有些朋友提交了 PR,根本不管你給的建議,自顧自的更新修改。這樣的 PR 根本不可能 merge,但是我們給的盡可能 polite 的建議,有些朋友真的把它們只當成建議……
  3. 再一次說到跳動的光標,這個始作俑者是社區的朋友,看起來也是非常 neat 的實現,誰知道就踩了 Chromium 的坑呢……

關于中文 issue 的問題,VS Code contribution guide 寫的是比較清楚的,請大家用英文提問。但是鑒于中文用戶量巨大,加之人總有英文不夠用的時候,VS Code 也會經常看到中文問題。我有這樣一些想法:

  1. 寫中文我個人覺得問題不大,畢竟 GitHub 是我們幾乎唯一的反饋渠道,不能要求用戶必須會英文。
  2. 寫中文的確增加了我本人的工作量,所以能寫英文,還是盡量寫。
  3. 但如果你覺得需要嚴重的 Google Translate 的幫助,我建議還是寫中文,并且 cc 我。不然可能翻譯出來***誰也看不明白,或者誤解。
  4. 我老板問我,為啥中文 issue 幾乎把所有東西都寫在標題里,然后 issue 描述留空。我真的不知道該如何回答。如果用中文寫 issue,并 cc 我,請保證把reproduce steps 寫好,一步一步用中文寫清楚,這總沒難度吧?
  5. 如果第四步做不到,還要我解決問題,請考慮請我喝啤酒吧。

生活

大家都喜歡開源,但開源貢獻者大部分時候是在做義務貢獻。這么來看在微軟搞 VS Code 就是一件愉快的事情,畢竟有人給你付工資讓你做 open source。而且再也不用上班搞一套代碼,回家之后私下自己在 GitHub 上面逛游,搞別的項目,上班和下班后可以在同一塊土地上耕耘。

當然這樣缺點也很明顯,就是生活和工作往往難以分開。工作是一周五天,一天八小時,但是 GiHub issue 從來都是 7*24。遇到棘手的問題的時候,很難放任不管,哪怕已經回了家。不過也正是因為項目的特殊性,我們組還是有比較好的 remote 和自由工作時間的文化的。

責任編輯:未麗燕 來源: 知乎專欄
相關推薦

2019-06-27 14:30:22

VSCodium開源VS Code

2020-07-07 09:10:29

VS CodeLinux開源

2021-09-30 09:40:32

Gitpod開源VS Code

2023-02-15 09:00:49

2022-01-10 10:48:34

SorbetVS CodeRuby

2019-04-16 09:15:59

開源技術 趨勢

2016-11-15 07:56:13

雙十一云計算科技新聞早報

2023-02-06 08:25:51

開源項目去中心化

2022-02-23 16:49:19

Linux內存數據結構

2013-08-14 11:14:20

開源Google

2013-08-09 10:37:11

Android開源項目

2022-03-21 09:40:04

數據庫開源社區開源項目

2021-02-05 09:18:33

VS CodeVim操作

2022-01-26 00:10:00

Linux內存磁盤

2012-12-12 16:12:58

KVMIBM

2013-08-21 12:29:12

Facebook開源

2014-04-14 10:06:22

.Net 開源

2012-08-20 09:41:05

開源技術推特

2020-07-09 10:30:34

開源替代品VS Code

2021-07-05 10:27:48

VS Code開源Linux
點贊
收藏

51CTO技術棧公眾號

99热自拍偷拍| 国产区欧美区日韩区| 91麻豆精品国产91久久综合| 免费视频成人| 亚洲不卡在线观看| 欧美一级二级三级九九九| 一级片视频播放| 欧美视频不卡| 亚洲天天在线日亚洲洲精| 日韩成人av免费| 天堂av中文在线观看| 国产精品久99| 久久大片网站| 国产色片在线观看| 老司机午夜免费精品视频| 久久天天躁狠狠躁夜夜躁| 老司机免费视频| 欧美另类激情| 日韩人体视频一二区| 日本成人性视频| 每日更新av在线播放| 国产一区视频网站| 日韩免费观看av| 国产主播在线播放| 中文av一区| 三级精品视频久久久久| 波多野结衣影院| 日韩中文字幕视频网| 欧美吻胸吃奶大尺度电影| 91精品国产91久久久久麻豆 主演| 在线观看国产原创自拍视频| 99精品热视频| 国产精品一区二区三区观看| 国产免费的av| 另类小说综合欧美亚洲| 欧美中文字幕第一页| 久久久久久蜜桃| 一区二区三区毛片免费| 最近中文字幕2019免费| 久久久久久九九九九九| 农村少妇一区二区三区四区五区| 日韩欧美第一区| 992kp免费看片| 欧美激情福利| 欧美疯狂做受xxxx富婆| 国产主播中文字幕| 精品123区| 91福利小视频| 亚洲精品怡红院| 日日夜夜天天综合| 日本丶国产丶欧美色综合| 中国丰满人妻videoshd| 韩日毛片在线观看| 黄网站色欧美视频| 国产资源在线视频| 日韩av影片| 欧美性猛交xxxx乱大交蜜桃| 国产中文字幕免费观看| 擼擼色在线看观看免费| 色婷婷综合久色| aⅴ在线免费观看| 欧美一级大黄| 欧美三级日韩三级| 亚洲国产成人va在线观看麻豆| 精品久久99| 91精品国产综合久久精品app| 一二三av在线| 澳门成人av| 精品视频偷偷看在线观看| 菠萝菠萝蜜网站| 国产欧美日韩视频在线| 最近2019免费中文字幕视频三| 成年人视频软件| 午夜日韩av| 97国产精品免费视频| 国产日产精品一区二区三区| 日韩中文字幕一区二区三区| 国产日韩欧美日韩| 亚洲精品第五页| 91亚洲国产成人精品一区二区三| 久久天堂国产精品| 97视频在线观看网站| 亚洲天堂精品视频| 缅甸午夜性猛交xxxx| 女生影院久久| 91精品国产入口在线| 黄色在线免费播放| 欧美日韩激情| 欧美日韩国产二区| 久久久黄色大片| 国产在线视频一区二区| 国产精品久久国产三级国电话系列 | 天天av天天翘| 国产视频一区二区在线| 91视频成人免费| 自拍视频在线看| 欧美精品aⅴ在线视频| 四季av综合网站| 日本久久精品| 91极品视频在线| 一级特黄色大片| 91网站最新网址| 中文字幕超清在线免费观看| 小h片在线观看| 在线不卡免费av| 91网站免费视频| 中文无码久久精品| 欧美亚洲国产视频| 国产av无码专区亚洲av| 久久精品无码一区二区三区| 黄色一级片av| 成人午夜sm精品久久久久久久| 精品播放一区二区| 麻豆网址在线观看| 日本色综合中文字幕| 国产伦精品一区二区三区视频免费 | 久久伦理中文字幕| 伊人青青综合网站| 久久高清免费视频| 狠狠色丁香久久婷婷综| 日本日本精品二区免费| 24小时免费看片在线观看| 欧美一区二区三区免费在线看| 在哪里可以看毛片| 99热这里只有成人精品国产| 91精品婷婷国产综合久久蝌蚪| 97电影在线| 在线观看成人小视频| 自拍视频一区二区| 精品成人免费| 99久久久久国产精品免费| 亚洲成人三级| 欧美午夜精品理论片a级按摩| 香蕉网在线播放| 99精品国产在热久久婷婷| www 成人av com| 黄色网页在线看| 欧美精品丝袜中出| 天天摸日日摸狠狠添| 日本色综合中文字幕| 免费成人av网站| 三级在线观看视频| 日韩精品欧美国产精品忘忧草 | 日本乱码高清不卡字幕| 国产在线观看无码免费视频| 亚洲国产专区校园欧美| 国产精品视频免费一区| 白白色在线观看| 欧美精品一区二区三区在线| 日韩久久久久久久久| 99久久久久久| 六月丁香婷婷激情| 蜜臀久久99精品久久一区二区| 欧美在线不卡区| 黄色国产在线| 欧美日韩亚州综合| 欧美成人另类视频| 国产综合色产在线精品| 黄色一级视频播放| 香蕉免费一区二区三区在线观看 | 亚洲精品国产精品国产自| 天天操天天射天天爽| av在线不卡网| 99热成人精品热久久66| 国产欧美一区二区精品久久久| 国产suv精品一区二区| 成人精品福利| 欧美一区二区三区在线视频| 久久久久久久国产精品毛片| 99热99精品| 另类小说第一页| 我不卡影院28| 国产 高清 精品 在线 a| 男人天堂视频在线观看| 亚洲人成电影网站| 国产精品无码久久久久成人app| 亚洲精品午夜久久久| 久久久国产精品无码| 日韩国产欧美在线观看| 浴室偷拍美女洗澡456在线| 91久久偷偷做嫩草影院电| 欧洲美女7788成人免费视频| 在线看av的网址| 亚洲国产成人一区| 精品无码一区二区三区的天堂| 中文字幕日韩一区| 在线看黄色的网站| 日韩不卡在线观看日韩不卡视频| 日日噜噜噜夜夜爽爽| 美女视频亚洲色图| 成人免费福利在线| 超碰高清在线| 精品国产一区二区三区在线观看| 国精产品一品二品国精品69xx| 色哟哟亚洲精品| 成人免费黄色小视频| 久久午夜免费电影| 亚洲在线观看网站| 国产亚洲毛片| 欧美一级免费在线观看| 伊人久久大香线蕉综合网蜜芽| 91精品视频一区| 欧美va在线| 韩国精品美女www爽爽爽视频| av网站在线免费观看| 亚洲黄色av网站| av中文字幕免费| 欧美日韩一区二区三区四区五区 | av男人的天堂av| 国产超碰在线一区| 91亚洲免费视频| 亚洲综合激情| 久久亚洲a v| 99久久夜色精品国产亚洲1000部| 久久影视中文粉嫩av| 天堂久久av| 91久久久久久| av在线一区不卡| 欧美夜福利tv在线| 成人观看网址| 久久久久成人精品| av在线免费网址| 中文字幕日韩在线观看| 日本一区高清| 亚洲国产成人一区| 黄色av小说在线观看| 9191精品国产综合久久久久久| 青娱乐在线免费视频| 一本大道久久a久久精二百| 国产无遮挡又黄又爽在线观看 | 毛片基地在线观看| 午夜天堂影视香蕉久久| 国产一级中文字幕| 一区二区三区不卡在线观看| 亚洲一二三在线观看| 中文久久乱码一区二区| 女人黄色一级片| 久久综合九色欧美综合狠狠| 精品人妻一区二区免费视频| 成人免费视频播放| 国产女主播在线播放| 国产a精品视频| 美女又黄又免费的视频| 大胆亚洲人体视频| 色哟哟网站在线观看| 国产精品18久久久久久久久久久久 | 亚洲性视频网址| 国产九九在线| 色偷偷偷综合中文字幕;dd| av在线播放免费| 最近更新的2019中文字幕| 老司机午夜在线| 美女性感视频久久久| 亚洲欧美成人影院| 欧美精品videossex性护士| 国产偷倩在线播放| 午夜精品久久久久久久99热浪潮| 成av人片在线观看www| 88xx成人精品| 91福利精品在线观看| 国产精品尤物福利片在线观看| 亚洲男人在线| 国产精品国产精品| 亚洲精品推荐| 亚洲精品在线观看免费| 99久久婷婷这里只有精品 | 欧美亚洲国产免费| 日韩电影免费网址| 激情五月五月婷婷| 在线日韩中文| 蜜臀av午夜一区二区三区| 日韩av成人高清| 黄色片免费网址| 成人深夜在线观看| 亚洲色成人网站www永久四虎| 国产精品卡一卡二卡三| 黄色一级片中国| 激情成人在线视频| 国产精品露脸视频| 日韩一区二区麻豆国产| 少妇激情av一区二区| 在线电影欧美日韩一区二区私密| 蜜桃视频在线观看www社区| 久久久久久国产精品久久| 亚洲美女久久精品| 成人黄色免费片| 琪琪久久久久日韩精品 | 五月香视频在线观看| 欧美精品激情视频| 精品久久久网| 国产亚洲精品久久飘花| 清纯唯美亚洲综合一区| 老子影院午夜伦不卡大全| 视频一区国产视频| 超碰人人cao| 欧美经典一区二区三区| 久久久香蕉视频| 欧美人成免费网站| 视频福利在线| 久99久在线视频| 99精品国自产在线| 国产三区精品| 91tv精品福利国产在线观看| 亚洲熟妇av日韩熟妇在线| 精品一区二区三区久久| 魔女鞋交玉足榨精调教| 亚洲一区视频在线| 亚洲天堂中文在线| 日韩精品免费一线在线观看| 性xxxfreexxxx性欧美| 国产精品一区二区三区在线播放| 欧美成人一区在线观看| 男同互操gay射视频在线看| 石原莉奈在线亚洲三区| 日本性生活一级片| 亚洲男人天堂av| 一级黄色大片网站| 亚洲最新av在线| 中文字幕成在线观看| 国产一区二区三区色淫影院| 中文精品久久| 17c国产在线| 亚洲国产精品成人综合 | 天天躁夜夜躁狠狠是什么心态| 亚洲最大成人网4388xx| 国产精品乱码一区二区| 色777狠狠综合秋免鲁丝| 欧美黑人粗大| 久久综合久久久| 精品成人国产| 秘密基地免费观看完整版中文| 亚洲色图清纯唯美| 国产一区二区三区在线观看| 中文国产成人精品| 成人欧美大片| 麻豆av一区二区| 亚洲一级在线| 在线 丝袜 欧美 日韩 制服| 欧美日韩国产精品一区二区三区四区| 亚洲精品字幕在线观看| 久久99亚洲精品| 日韩视频1区| 免费人成在线观看视频播放| 国产乱妇无码大片在线观看| 亚洲天堂一级片| 欧美一级久久久久久久大片| 色av手机在线| 国产伦精品一区二区三毛| 在线观看日韩av电影| 国产精品福利导航| 天天射综合影视| 视频三区在线观看| 日韩免费精品视频| 欧洲乱码伦视频免费| 天天干天天干天天干天天干天天干| 国产喷白浆一区二区三区| 国产精品无码一区| 久久精品国产清自在天天线| 国产精品美女久久久久| 国产女人18毛片| www.在线成人| 精品免费囯产一区二区三区| 国产亚洲免费的视频看| 欧美韩国日本| 欧美a级免费视频| av中文字幕亚洲| 久久精品视频1| 色综久久综合桃花网| 免费一区二区三区在线视频| 免费不卡av在线| 久久久精品一品道一区| 最近国语视频在线观看免费播放| 俺去亚洲欧洲欧美日韩| 日韩中文字幕| 国产极品美女高潮无套久久久| 国产蜜臀av在线一区二区三区| 国产精品一区二区免费视频| 欧美激情xxxxx| 美女久久久久| av在线免费看片| 五月天欧美精品| 香蕉视频在线免费看| 国产高清在线一区二区| 久久久999| 青青草原在线免费观看| 日韩精品中文字幕久久臀| 久久久久伊人| 日韩国产一级片| 中文成人av在线| 少妇高潮一区二区三区99小说| 日韩av免费看| 欧美日韩亚洲一区在线观看| 欧美图片第一页| 91麻豆精品国产91| 电影网一区二区| 蜜桃网站在线观看| 国产日本一区二区| 亚洲欧美另类视频| 成人欧美一区二区三区在线湿哒哒| 一区二区三区导航|