精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美久久久久久久久久| av成人动漫在线观看| 久久久精品中文字幕| 51自拍视频在线观看| 日韩电影免费观看| 久久综合给合久久狠狠狠97色69| 国产精品美女久久久久av超清| 伊人久久久久久久久久久久久久| 成人动漫视频| 在线观看免费一区| 菠萝蜜视频在线观看入口| 亚洲aⅴ乱码精品成人区| 奇米精品一区二区三区四区| 欧美猛少妇色xxxxx| 一二三不卡视频| 95精品视频| 色综合久久九月婷婷色综合| 中国 免费 av| 麻豆av电影在线观看| 国产一区在线看| 欧美一级大片视频| 久草免费在线观看视频| 成人三级视频| 日韩二区三区在线| 欧美人与性动交α欧美精品 | 精品久久久999| 国产高清自拍视频| 一区视频网站| 欧美乱熟臀69xxxxxx| 欧美激情精品久久久久久小说| 日本三级在线观看网站| 国产精品美女久久久久久久 | 精品视频99| 亚洲高清色综合| 天天爽夜夜爽视频| 亚洲高清影院| 欧美在线播放高清精品| 久久久999免费视频| 日本电影在线观看| 亚洲私人影院在线观看| 午夜精品亚洲一区二区三区嫩草| 亚洲av片在线观看| 成人免费黄色在线| 成人动漫在线观看视频| 99国产精品欲| 国产真实乱对白精彩久久| 国产精品视频1区| www.色国产| 久久免费国产| 日韩男女性生活视频| 五月婷婷中文字幕| 亚洲一区二区免费看| 98精品在线视频| 天海翼一区二区| 99精品免费视频| 97国产在线观看| 五月天婷婷网站| 亚洲美女色禁图| 97色在线视频| 国产精品人人人人| 免费在线日韩av| 国产不卡av在线| www.五月婷婷.com| 美腿丝袜一区二区三区| 成人午夜黄色影院| 99久久精品国产一区二区成人| 国产久卡久卡久卡久卡视频精品| 91嫩草国产在线观看| 99热这里只有精品9| 国产精品一区二区你懂的| 99视频日韩| 午夜av免费在线观看| 久久久影院官网| 日本一区二区久久精品| 在线免费观看黄色av| 综合婷婷亚洲小说| 国产精品69久久久| 自拍偷自拍亚洲精品被多人伦好爽 | 中文字幕人成乱码在线观看| 在线观看视频一区二区欧美日韩| wwwwwxxxx日本| 中文字幕一区二区三区中文字幕 | 91日韩在线播放| 亚洲精品久久久久久久久久| 久久亚洲精品国产精品紫薇| 亚洲国产成人不卡| 欧美24videosex性欧美| 精品久久久香蕉免费精品视频| 国产精品69页| 精品国产亚洲一区二区三区| 亚洲国产精品久久| 中文字幕第24页| 欧美在线免费一级片| 国语自产精品视频在免费| 91丨九色丨海角社区| 国产精品一色哟哟哟| 免费99视频| 国产盗摄在线观看| 一本大道综合伊人精品热热 | 久久精品一偷一偷国产| 久久精品免费av| 日本欧美久久久久免费播放网| 亚洲一区二区三区xxx视频| 天天av综合网| 亚洲欧美日韩在线播放| aa免费在线观看| 成人在线视频国产| 亚洲视频axxx| 伊人365影院| 日本不卡的三区四区五区| 电影午夜精品一区二区三区| shkd中文字幕久久在线观看| 亚洲第一激情av| 日本中文字幕观看| 免费电影一区二区三区| 欧美劲爆第一页| 一级黄色片在线| 久久这里只精品最新地址| 国产免费内射又粗又爽密桃视频| 国产日韩另类视频一区| 亚洲精品美女免费| 精品少妇一二三区| 国产精品中文字幕一区二区三区| 青青草成人网| 国产直播在线| 欧美tickling挠脚心丨vk| 成年人免费视频播放| 天堂蜜桃91精品| 久久国产精品久久| caoporn视频在线| 欧美一区二区免费| 国产精品麻豆免费版现看视频| 一区二区高清| 国产精品久久久久久久久婷婷| 成人a在线视频免费观看| 欧美日韩一级大片网址| 亚洲性猛交xxxx乱大交| 亚洲视频www| 精品综合久久| 天天综合av| 日韩高清a**址| 日本少妇全体裸体洗澡| 成人免费av网站| av在线观看地址| 加勒比色老久久爱综合网| 欧美精品videosex性欧美| 精品国产区一区二| 亚洲免费观看高清完整版在线| 夜夜夜夜夜夜操| 97精品一区二区| 成人精品一区二区三区| 麻豆视频在线| 日韩亚洲欧美成人一区| 丰满少妇被猛烈进入一区二区| 激情综合五月婷婷| 自拍偷拍视频在线| 欧美视频二区欧美影视| 欧美精品www在线观看| 亚洲精品中文字幕成人片| 午夜久久久久久久久久一区二区| 91丝袜在线观看| 国产精品毛片| 日韩免费av电影| 日韩亚洲国产免费| 欧美高清性猛交| 色在线免费视频| 欧美丝袜丝交足nylons| 97在线观看免费高| 成人午夜av电影| 免费在线观看的av网站| 欧美色蜜桃97| 亚洲精品欧美一区二区三区| 国产第一页在线| 亚洲欧美日韩图片| 91欧美日韩麻豆精品| 亚洲一区在线播放| av在线网站观看| 毛片不卡一区二区| 五月婷婷久久丁香| 精品国产依人香蕉在线精品| 中文字幕国产在线观看| 国产日产欧美一区二区视频| 成人亚洲精品777777大片| 91精品国产调教在线观看| 成人av资源网| 电影亚洲精品噜噜在线观看| 久久国产精品视频| 日本黄色一区二区三区| 欧美最新大片在线看| 18岁成人毛片| 91原创在线视频| 日韩成人精品视频在线观看| 激情久久婷婷| 亚洲国产欧美不卡在线观看| 91精品久久久久久综合五月天| 欧美一级淫片videoshd| 黄色网在线免费看| 日韩精品免费综合视频在线播放| 一级日韩一级欧美| 精品人伦一区二区三区蜜桃免费 | 亚洲无码精品在线播放| 亚洲高清免费一级二级三级| 色www亚洲国产阿娇yao| av电影天堂一区二区在线| 国产乱女淫av麻豆国产| 久久国产精品久久w女人spa| 欧美 国产 精品| 九九久久婷婷| 国产成人av一区二区三区| 国产精品久久久久久久久久齐齐| 欧美精品久久久久久久免费观看 | 国产精品污www在线观看| 中国xxxx性xxxx产国| 韩日av一区二区| 成人三级视频在线播放| 欧美私人啪啪vps| 亚洲区一区二区三区| 神马久久av| 懂色中文一区二区三区在线视频| 日韩欧美一区二区三区在线观看 | 成人在线免费电影网站| av中字幕久久| 欧美性色综合| 久久久久久久国产| 三区四区在线视频| 亚洲精品自在久久| 成人av无码一区二区三区| 欧美天天综合网| 91精品国产综合久久久蜜臀九色| 亚洲成av人片观看| 九九久久免费视频| 亚洲欧美国产三级| 顶级黑人搡bbw搡bbbb搡| 久久精品人人做人人综合| 亚洲av成人片色在线观看高潮 | 亚洲综合激情另类小说区| 亚洲区一区二区三| 国产精品久久久久久久久搜平片 | 亚洲欧美日韩一二三区| 麻豆专区一区二区三区四区五区| 日本www在线播放| 亚洲国产片色| av免费观看国产| 亚洲精品男同| 激情伊人五月天| 日韩图片一区| 鲁一鲁一鲁一鲁一澡| 一本色道久久综合亚洲精品不| 无码熟妇人妻av在线电影| 黄色亚洲精品| 久久久亚洲精品无码| 伊人精品成人久久综合软件| 免费一级特黄毛片| 亚洲在线播放| 亚洲综合自拍一区| 国产精品日韩av| 三级av在线| 日韩福利在线播放| 黄色在线网站| 中文字幕精品av| 日本视频在线免费观看| 久久精品最新地址| 18+视频在线观看| 欧美黄色片在线观看| 51漫画成人app入口| 欧洲成人在线观看| 99热播精品免费| 亚洲伊人第一页| 国产厕拍一区| 欧美一级片免费观看| 成人影院在线| avove在线观看| 伊人激情综合| www日韩视频| 精品一区二区三区免费| 日本高清免费观看| 99r精品视频| 国产精品久久久视频| 亚洲精品高清视频在线观看| 日韩大片免费在线观看| 精品视频999| 亚洲爱爱综合网| 亚洲男人天堂2023| 麻豆tv在线| 91wwwcom在线观看| 日本免费在线一区| 动漫精品视频| 成人3d动漫在线观看| 人妻激情另类乱人伦人妻| 国产亚洲午夜| 久热在线视频观看| 91麻豆swag| 人妻久久一区二区| 色婷婷综合久久久久中文一区二区| 亚洲综合一区中| 亚洲国产精品一区二区久| 日本欧美在线视频免费观看| 91av视频在线观看| 久久久精品区| 日本一区二区三区在线视频 | 免费一级特黄毛片| 老色鬼精品视频在线观看播放| 亚洲图片欧美另类| 国产精品成人在线观看| 国产一级精品视频| 欧美一区二区三级| 在线观看h片| 欧美在线视频a| 99精品中文字幕在线不卡| 在线不卡日本| 日产国产欧美视频一区精品| 97香蕉碰碰人妻国产欧美 | 一区二区成人精品| 97在线超碰| 亚洲综合中文字幕在线观看| 日韩毛片视频| 久久久精品在线视频| 成人精品免费视频| www.av视频| 欧美精三区欧美精三区| 国产黄在线播放| 国产91精品久久久| 成人在线视频你懂的| 五月天在线免费视频| 精品一区二区日韩| 成人性视频免费看| 欧美视频你懂的| 久草在线网址| 日韩av电影在线网| 丝袜连裤袜欧美激情日韩| 日韩人妻无码精品久久久不卡| 国产一区二区调教| 国产一区二区视频在线观看免费| 欧美日韩免费视频| 爱久久·www| 国产精品电影网站| 教室别恋欧美无删减版| 成年人免费在线播放| 久久亚洲精品小早川怜子| 中文字幕视频网站| 日韩精品中文字幕久久臀| 超碰在线视屏| 久久精品人成| 久久久噜噜噜| 免费黄色片网站| 欧美视频一区在线观看| 97视频在线观看网站| 国产日韩欧美中文在线播放| 日韩在线理论| 国产3p在线播放| 亚洲精品伦理在线| 亚洲av永久无码国产精品久久| 欧美黄色片免费观看| 欧洲vs亚洲vs国产| 熟妇人妻va精品中文字幕| 久久精品水蜜桃av综合天堂| 欧美高清69hd| 北条麻妃一区二区三区中文字幕| 不卡一区视频| 狠狠精品干练久久久无码中文字幕| 国产精品一级黄| 天堂资源在线播放| 日韩黄色av网站| 另类中文字幕国产精品| 亚洲精品在线视频观看| 国产一区二区精品久久| 麻豆亚洲av成人无码久久精品| 亚洲国产精品字幕| 成人线上视频| 亚洲最大免费| 成+人+亚洲+综合天堂| 99超碰在线观看| 色妞在线综合亚洲欧美| 欧美日韩国产一区二区在线观看| 黄色一级视频在线播放| 国产午夜精品在线观看| 国产口爆吞精一区二区| 色综合久久88| 国产精品免费99久久久| 善良的小姨在线| 午夜精品久久久久久久| 久草视频在线看| 亚洲一区二区中文字幕| 久久狠狠婷婷| 亚洲波多野结衣| 亚洲精品电影久久久| 国产69精品久久| 蜜臀av性久久久久蜜臀av| 91麻豆免费看| 国产模特av私拍大尺度| 68精品国产免费久久久久久婷婷| 波多野结衣的一区二区三区| 久久久久国产免费| 在线观看国产日韩| wwwwxxxx在线观看| 性欧美.com| av亚洲精华国产精华| 国产又大又长又粗| 日本欧美精品在线| 国产精品s色|