原创 如何在Visual Studio Code中用Mocha對TypeScript進行測試

  首先,本文不是一篇介紹有關TypeScript、JavaScript或其它編程語言數據結構和算法的文章。如果你正在準備一場面試,或者學習某一個課程,互聯網上可以找到許多相關的資源,我個人比較推崇hackerrank.com。   本文的

原创 如何保持DIV的垂直滾動條在底部

  今天發現一個可以通過CSS使DIV的垂直滾動條保持在底部的方法,記錄一下! .container { height: 100px; overflow: auto; display: flex; flex-directi

原创 VSCode Extension中的Virtual Documents使用筆記

  我們在用TypeScript編寫VSCode Extension應用時,可以通過VSCode API提供的內置Command "vscode.diff"來快速比較兩個文檔,有關該命令的參數介紹可以查看官方文檔。基本用法如下: vsco

原创 如何在Windows中快速切換不同的Java版本

  作爲一名Java程序員,我們經常需要在不同的Java版本下運行我們的應用程序,或者,我們想在不同Java版本上嘗試運行我們的代碼。當然,如果你在IDE下工作,可以非常輕鬆地切換Java版本(大部分IDE都提供該功能),但是如果你只想在C

原创 如何替換json對象中的key

  看到標題你可能會想,如此簡單的問題值得去探究嗎?如果我有一個json object,只需下面簡單的幾行代碼就可以完成: var obj = { "_id": "5078c3a803ff4197dc81fbfb", "e

原创 如何解決在執行gulp任務中出現的錯誤ReferenceError: primordials is not defined

  最近在執行一個gulp任務時遇到下面這個錯誤:   Google的結果是說這個是gulp 3在Node 12.x上的一個bug。解決的辦法有兩個:要麼通過nvm將node版本降到12以下,要麼將gulp升級到4。由於我工作的電腦上還有

原创 Windows上安裝NVM之後找不到NPM的解決辦法

  不久前自己工作的電腦上Node.js升級了,導致有一個依賴的項目無法正常啓動,於是到Google上搜了一把,找到stackoverflow上的一個解決辦法。基本意思是說當前的Node.js版本和gulp 3不兼容,要麼將gulp升級到4

原创 如果通過jQuery的css方法添加帶有!important標記的樣式

  衆所周知,jQuery提供了css方法,用來給指定的元素設置css樣式,或者返回一個或多個樣式屬性,具體的介紹可以參考W3school上的說明。   不過,通過這種方式給元素設置樣式時,!important標記會被忽略掉。例如下面的代碼

原创 Chrome瀏覽器中的三種刷新模式

  互聯網在全球的普及率與日俱增。與此同時,Web瀏覽器在用戶體驗方面也做得越來越好,除了運行速度比以前更快,還包括在操作系統級別上提供的DNS緩存。不過,當不期望的數據被緩存時,這也會帶來一些額外的問題。這種情況下,我們可以通過清除緩存並

原创 Theia——雲端和桌面版的IDE

  Theia是一個利用最新的web技術開發的支持雲端和桌面運行的類似IDE的產品,它是一個可擴展的平臺,並且全面支持多語言。 目標 建立一個可搭建類似IDE產品的平臺 爲終端用戶提供完整的多語言IDE(不僅僅是智能編輯器) 同時支持雲

原创 使用Theia——添加語言支持

上一篇:使用Theia——創建插件 Theia——添加語言支持 Theia中TextMate的支持   使用TextMate語法可以爲大部分源文件提供精準的着色修飾,雖然這只是在語法級別上(沒有語言本身的深度解析)。語義着色可以由語言服務器

原创 Theia APIs——通過JSON-RPC進行通信

上一篇:Theia APIs——事件 通過JSON-PRC進行通信   在本節中,我將講解如何創建後端服務並通過JSON-PRC來連接它。   我將使用debug logging system作爲例子來進行講解。 概述   本示例將用exp

原创 Theia APIs——事件

上一篇:Theia APIs——Preferences 事件   Theia中的事件或許會讓你感到困惑,希望本節能闡述清楚。   來看下面的代碼: (來自logger-watcher.ts) @injectable() export

原创 Theia架構

上一篇:Theia——雲端和桌面版的IDE 架構概述   本節描述了Theia的整體架構。   Theia被設計爲一個可以在本地運行的桌面應用程序,也可以在瀏覽器和遠程服務器之間工作。爲了支持這兩種工作方式,Theia運行在兩個獨立的進程中

原创 Theia APIs——Preferences

上一篇:Theia APIs——命令和快捷鍵 Preferences   Theia有一個preference service,模塊可以通過它來獲取preference的值,提供默認的preferences以及監聽preference的更改