但大家知道 VS Code" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網站運營 > 爽爆了!我搞了一個網頁版 VS Code

爽爆了!我搞了一個網頁版 VS Code

時間:2023-07-24 23:54:02 | 來源:網站運營

時間:2023-07-24 23:54:02 來源:網站運營

爽爆了!我搞了一個網頁版 VS Code:VS Code 想必大家都聽說過吧,VS Code 憑借其強大的插件生態(tài)簡直把 IDE 玩出花來了,現(xiàn)在我身邊越來越多的程序員朋友現(xiàn)在都轉向使用 VS Code 來寫代碼了,我也不例外。

但大家知道 VS Code 本身是用什么寫的嗎?沒錯,其實是 JavaScript 寫的,準確來說是用 TypeScript 寫的。

這時候我就想問,既然是用 TypeScript 寫的,那它有沒有網頁版呢?

有人就要問了,網頁版的 VS Code 有啥用啊,其實它能解決很多痛點:

舒服吧!

那就來整一個吧!

于是我就找官網的支持,但是沒找到官網有說 VS Code 網頁版的任何事情。

但是找到了一個開源項目,叫做 code-server,運行之后就可以在瀏覽器里面打卡 VS Code 了,GitHub 地址是:https://github.com/cdr/code-server。

它的官方介紹是:

Run VS Code on any machine anywhere and access it in the browser.
正式我想要的!它在瀏覽器里面的運行效果如圖所示:

安裝

接下來那就安裝試試吧,它支持多個平臺,只需要運行一條命令就能安裝了:

curl -fsSL https://code-server.dev/install.sh | sh這條命令運行之后會自動判斷當前的平臺,然后運行安裝步驟。

安裝完了之后會有一個可用的 code-server 命令,運行之后便可以在本地啟動 code-server 服務了,然后就可以在瀏覽器中打開 VS Code 了,就像上圖所示。

Docker

但這 code-server 僅僅是在本地運行起來了。

如果我想將其部署到公網供我隨時訪問呢?或者極端一點,如果我想為其他人也部署一個 code-server 怎么辦呢?或者我想為一百個人部署自己專屬的 code-server 怎么辦呢?

所以,這時候一個很好的方案就是上 Docker + Kubernetes 了。

既然要上 Docker,那就順便對 code-server 做一些基礎化的配置吧,比如預裝一些插件,比如設置一些主題,比如設置一些編輯器配置等等。

我本地的 VS Code 現(xiàn)在在用一個我個人覺得比較好看的主題,叫做 Material Ocean,效果是這樣的:

這是通過安裝一個插件實現(xiàn)的,叫做 Material Theme:

另外還有一些基礎的插件,比如 Python的支持、自動提示等等。

另外既然要支持 Python 了,那也可以在 Docker 里面配置一些基礎的 Python 庫,以免使用的時候再安裝。

其他的一些配置比如代碼規(guī)范、縮進、換行等都可以通過 VS Code 的一些 settings.json 配置來實現(xiàn)。

等等還有一些其他的優(yōu)化項可以自行發(fā)揮啦。

基本上就是這么多了,所以接下來就可以寫 Dockerfile 了。

這里我直接基于 ubuntu 18.04 來開始搭建了,編寫一個 Dockerfile 如下:

FROM ubuntu:18.04RUN apt-get update && apt-get install -y / openssl / net-tools / git / zsh / locales / sudo / dumb-init / vim / curl / wget / bash-completion / python3 / python3-pip / python3-setuptools / build-essential / python3-dev / libssl-dev / libffi-dev / libxml2 / libxml2-dev / libxslt1-dev / zlib1g-devRUN chsh -s /bin/bashENV SHELL=/bin/bashRUN ARCH=amd64 && / curl -sSL "https://github.com/boxboat/fixuid/releases/download/v0.4.1/fixuid-0.4.1-linux-$ARCH.tar.gz" | tar -C /usr/local/bin -xzf - && / chown root:root /usr/local/bin/fixuid && / chmod 4755 /usr/local/bin/fixuid && / mkdir -p /etc/fixuid && / printf "user: coder/ngroup: coder/n" > /etc/fixuid/config.ymlRUN CODE_SERVER_VERSION=3.10.2 && / curl -sSOL https://github.com/cdr/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb && / sudo dpkg -i code-server_${CODE_SERVER_VERSION}_amd64.debRUN locale-gen en_US.UTF-8ENV LC_ALL=en_US.UTF-8RUN adduser --disabled-password --gecos '' coder && / adduser coder sudo && / echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers;RUN chmod g+rw /home && / mkdir -p /home/coder/workspace && / mkdir -p /home/coder/.local && / chown -R coder:coder /home/coder && / chown -R coder:coder /home/coder/.local && / chown -R coder:coder /home/coder/workspace;USER coderRUN git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && / ~/.fzf/installENV PASSWORD=${PASSWORD:-P@ssw0rd}COPY ./extensions /home/coder/.local/extensionsRUN /usr/bin/code-server --install-extension ms-python.python && / /usr/bin/code-server --install-extension esbenp.prettier-vscode && / /usr/bin/code-server --install-extension equinusocio.vsc-material-theme && / /usr/bin/code-server --install-extension codezombiech.gitignore && / /usr/bin/code-server --install-extension piotrpalarz.vscode-gitignore-generator && / /usr/bin/code-server --install-extension aeschli.vscode-css-formatter && / /usr/bin/code-server --install-extension donjayamanne.githistory && / /usr/bin/code-server --install-extension ecmel.vscode-html-css && / /usr/bin/code-server --install-extension pkief.material-icon-theme && / /usr/bin/code-server --install-extension equinusocio.vsc-material-theme-icons && / /usr/bin/code-server --install-extension eg2.vscode-npm-script && / /usr/bin/code-server --install-extension ms-ceintl.vscode-language-pack-zh-hans && / /usr/bin/code-server --install-extension /home/coder/.local/extensions/tkrkt.linenote-1.2.1.vsix && / /usr/bin/code-server --install-extension dbaeumer.vscode-eslintRUN /usr/bin/python3 -m pip install -U pip setuptoolsRUN /usr/bin/python3 -m pip install requests httpx scrapy aiohttp pyquery beautifulsoup4 / selenium pyppeteer pylint flask django tornado numpy pandas scipy autopep8COPY settings.json /home/coder/.local/share/code-server/User/settings.jsonRUN sudo chown coder /home/coder/.local/share/code-server/User/settings.jsonCOPY entrypoint.sh /home/coder/.local/entrypoint.shRUN sudo chmod +x /home/coder/.local/entrypoint.shWORKDIR /home/coder/workspaceEXPOSE 8080ENTRYPOINT ["/bin/sh", "/home/coder/.local/entrypoint.sh"]這里就直接把 Dockerfile 列出來了,主要分這么幾步:

比如 VS Code 插件我就提前裝好了 Material Theme 插件,然后在 settings.json 里面啟用對應的主題即可:

{ "workbench.colorTheme": "Material Theme", "workbench.iconTheme": "material-icon-theme", "git.enableSmartCommit": true, "editor.tabSize": 2, "editor.detectIndentation": false, "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.defaultFormatter": "es{ "workbench.colorTheme": "Material Theme", "workbench.iconTheme": "material-icon-theme", "git.enableSmartCommit": true, "editor.tabSize": 2, "editor.detectIndentation": false, "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.fontSize": 16, "editor.suggestSelection": "first", "files.autoGuessEncoding": true, "files.autoSave": "afterDelay", "terminal.integrated.inheritEnv": false, "vetur.experimental.templateInterpolationService": true, "[typescript]": { "editor.tabSize": 2 }, "[javascript]": { "editor.tabSize": 2 }, "[python]": { "editor.tabSize": 4, "editor.defaultFormatter": "ms-python.python" }}這里配置文件主要配置了主題、字體大小、縮進等內容,當然這個如果你要自己配置的話就按照自己的喜好來就好了。

最后通過 docker-compose.json 文件配置鏡像信息:

version: "3"services: code-server: container_name: "code-server" build: . image: "germey/code-server" ports: - "8080:8080"OK,基本就是這樣,運行:

docker-compose build 就可以成功構建一個鏡像了,然后運行:

docker-compose push 即可把鏡像 push 到我的 Docker Hub 上面,等待部署即可。

Kubernetes 部署

對于部署 Kubernetes 來說,如果要做到方便部署且靈活管理的話,那就不得不用到 Helm 了,我可以寫一個 Helm Chart,定義好一些模板文件和占位符,同時設置默認的配置選項,這樣我們就可以通過一條簡單的命令來部署這個 Docker 鏡像了。

如果你沒有用過 Helm 的話可以搜索相關資料了解下。
這里 Chart 的具體實現(xiàn)我就不再贅述了,主要就包括了幾個部分:

具體的配置我都放在 GitHub 了:https://github.com/Python3WebSpider/CodeServer/tree/master/chart,需要的話自取即可。

有了 Chart 之后,我只需要一條命令即可部署一個在線的 VS Code,命令如下:

helm install code-server-<username> . --namespace <namespace> --set user=<username> --set password=<password>
注意運行目錄在 chart 路徑下才可以。
這里我們傳入了 usrname、namespace、password。

這里我配置了解析域名 code-<username>.scrape.center,比如我要配置一個 code-germey.scrape.center,密碼是 1234,那就只需要運行該命令即可:

helm install code-server-germey . --namespace scrape --set user=germey --set password=1234這里用戶名我替換成了 germey,命名空間我用了 scrape,密碼用了 1234。

運行這條命令之后,我就能得到一個 https://code-germey.scrape.center/ 網站了。

沒錯,就是一條命令部署一個 VS Code,而且有專屬域名。

打開之后效果如下:

輸入對應的密碼之后,就可以進入對應的 VS Code 編輯器頁面了,如圖所示:

這里我可以新建 Python 文件,然后在線運行:

另外還可以在命令行下像在 Linux 下一樣操作,比如安裝一個新的 Python 庫:

pip3 install pillow非常方便。

另外插件頁面也可以看到我安裝的一些插件:

也可以在此繼續(xù)添加想要的插件。

全屏之后活脫脫就是一個桌面版本的 VS Code!

唯一不是很方便的就是在里面跑一些 Web 服務,因為 Web 服務相當于在 Docker 里面運行的,不過不要緊,我們只需要在 Chart 里面增加幾個端口映射就好了。

有了它,我在里面寫了代碼,切換了不同 PC,我不用再關心代碼的同步問題了。另外我就可以一鍵給別人分配一個 Online 版本的 VS Code,別人寫了代碼之后也可以方便拿給我看問題,也方便直接給別人分享我寫的代碼和運行效果,簡直不要太爽了!

更多精彩內容,請關注我的公眾號「進擊的 Coder」和「崔慶才丨靜覓」。

關鍵詞:

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉