今天在網上看到了一個很有意思的在線IDE工具code-server,號稱界面像素級仿製vscode,就動手自己簡單搭建了一下。
當然,這款工具無論使用哪種方式安裝都是近乎一鍵式的,沒有什麼複雜的細節。
前述
code-server的官網:http://www.coder.com
其實官網本身就提供IDE的在線使用(http://ide.coder.com),但需要登錄。不知道什麼原因,網站的註冊系統已經關閉了,只能以自建的形式使用code-server。
要注意的是:
Safari內核的瀏覽器無法正常打開在線IDE網頁;完全的支持需要Chrome內核的瀏覽器。
即是,iPad無法在線使用這個IDE。
docker一鍵搭建
官網中顯目地提供了使用docker一鍵搭建的命令:
$ docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
執行命令後就可以通過網址http//localhost:8443/
在本機環境中訪問。
端口映射
其中-p 127.0.0.1:8443:8443
的地址映射127.0.0.1:8443
是方便在本機環境下使用,但遠程登錄時會被拒絕訪問。由於需要遠程登錄,改爲 -p 8443:8443
。
修改此項後,就可以正常進行遠程登錄。
工作目錄
-v "${PWD}:/home/coder/project"
將IDE的工作目錄設定成/home/coder/project
。當然一般還是偏好自行選擇工作空間,所以需要把目錄修改一下。
密碼登錄
命令最後的 --no-auth
是一個不安全的選項,它允許任何人都能直接通過地址localhost:8443
進入IDE,而IDE有權限對文件訪問、修改和運行,這裏選擇去掉這個選項。
去掉這個選項後,往後每次執行命令時都會顯示隨機密碼,進入到網頁後需要通過密碼登錄。
最終
偏好通過以下命令搭建/運行服務。
$ docker run -it -p 8443:8443 -v "${PWD}:/home/${USER}/code" codercom/code-server --allow-http
docker內的進程默認類似守護進程,用戶登出後不終止。
包搭建
官方github下載包:https://github.com/cdr/code-server/releases
其實這也沒什麼好說的,都不用install安裝,直接解包運行就ok了。
$ tar -xzvf code-server1.939-vsc1.33.1-linux-x64.tar.gz //解包
$ cd code-server1.939-vsc1.33.1-linux-x64
$ ./code-server 工作目錄 //運行
默認是密碼登錄,但ssh會話斷開/用戶登出時,進程會同時終止。
密碼登錄
無論通過哪種方式搭建,登錄密碼都可以多次多地使用。以守護進程運行並保存密碼,就可以持續使用。
nohup執行
即在後臺執行,而且在ssh會話斷開/用戶登出時也不會終止(忽略由於用戶登出產生的終止信號)。
$ nohup ./code-server 工作目錄 >server_log 2>&1
nohup執行需要重定向輸出,否則會報錯nohup: ignoring input and appending output to 'nohup.out'
。
執行後在server_log
查看密碼。
VSCode擴展安裝
code-server內不能鏈接到擴展商店,需要自行使用.VSIX
離線包離線安裝擴展。
(雖然我記得有一刻還真連接上了擴展商店)
實測下,除語言包外的擴展都可以安裝使用,其他擴展的使用是否有副作用未知。
.VSIX
離線包獲取
VSCode擴展商店網頁版:https://marketplace.visualstudio.com/vscode
搜索擴展,進入到詳情頁之後,選擇右下角的Download Extension
下載離線包。
之後在擴展界面選擇Install from VSIX
,選擇路徑安裝。
C++擴展
這裏包括了我使用的擴展,改天打個包傳上來,方面日後配置VSCode。
code-server使用
需要先行安裝gcc
g++
gdb
,調試按鍵F5
,具體當作VSCode用就是了。
Linux環境下VSCode的配置十分簡單,所以不贅述了。