99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代終結(jié) VS Code,一統(tǒng)江湖!JetBrains 推出下一代輕量級開發(fā)神器:Fleet
終結(jié) VS Code,一統(tǒng)江湖!JetBrains 推出下一代輕量級開發(fā)神器:Fleet
2021-12-17
收藏



作者:派森醬

來源:Python技術(shù)

近日,JetBrains 推出了一個有一點不一樣的輕量級編輯器 Fleet。

JetBrains 公司大家都非常熟悉了,業(yè)界經(jīng)典的IDE 都是他們開發(fā)出來的。就連谷歌推出的安卓專用編輯器 Android Studio 都是基于 IntelliJ IDEA 二次開發(fā)的。

而 Fleet 就是集 JetBrains 公司 20 年工具開發(fā)的知識和經(jīng)驗于一身的劃時代輕量級編輯器。它能滿足你對一個編輯器期待的所有功能,但遠不如此。

雖然官方宣稱 Fleet 是從頭開始構(gòu)建的,擁有全新的架構(gòu)和用戶界面,但不得不說,這個界面看起來真的很像 VS Code 啊。

智能

作為 JetBrains 公司推出的新一代編輯器,F(xiàn)leet 中看到的所有智能技術(shù)都是使用 IntelliJ 代碼處理引擎作為后端,因此 IDE 有的優(yōu)點 Fleet 也都有。

語法高亮、代碼補全、重構(gòu)、導航、調(diào)試一樣沒有落下。更重要的是,點擊右上角 “Smart Mode” 按鈕即可使用這些功能。

多語言

以往 JetBrains 公司發(fā)布的 IDE 都是針對單一語言的,比如 IDEA 用于編寫 Java 程序,Pycharm 用于編寫 Python 程序等。但 Fleet 是支持多語言的。

隨著互聯(lián)網(wǎng)的逐漸發(fā)展,公司不再局限于單一技術(shù),有時候需要在不同技術(shù)之間切換,于是,F(xiàn)leet 應運而生。針對多語言環(huán)境和技術(shù)支持提供開箱即用的功能。并支持通過專用插件支持更多語言。有點 VS code 的味道了。

分布式

分布式用在工具中倒是挺新奇的一個創(chuàng)意點。

一般正常來講,我們的開發(fā)環(huán)境都是在本地,每次更換電腦就不得不重新配置環(huán)境,F(xiàn)leet 完美解決了這一痛點,無論您的開發(fā)環(huán)境是在本地還是在云端或者遠程機房,F(xiàn)leet 都支持。

同時 Fleet 提供了對 Space 的編排支持,可從源倉庫輕松啟動遠程服務器實例,支持使用 Dockerfile 進行自定義。

協(xié)作

公司項目開發(fā)離不開團隊協(xié)作,無論是本地環(huán)境還是云端環(huán)境,F(xiàn)leet 都支持多人同時編輯同一個或者不同的文件,運行測試、訪問終端等也都支持多人同時操作。

總結(jié)

JetBrains 家的很多開發(fā)工具都可以說是業(yè)界的標桿,其產(chǎn)品研發(fā)和設計能力值得信賴,因此,對于 Fleet 的未來我是非??春玫摹?

最后,F(xiàn)leet 目前還處于起步階段,如果想獲得使用版本,可以通過下面的鏈接申請。

https://www.jetbrains.com/fleet/preview

關(guān)于 Fleet 以及 JetBrains 的野心,你有什么想說的呢,可以在評論區(qū)和小伙伴們一起討論哦~


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }