linux搭建code-server及使用中遇到的问题
系统环境
- CentOS 8.5
docker搭建
linux不太熟,但是用docker搭建是真的简单,有现成的镜像的话一句命令就可以搞定。
docker run -itd --name my-code-server \ -p 5580:8080 \ -v /data/mycode:/home/coder \ -e PASSWORD=12345678 \ codercom/code-server:latest --auth password
虽然比较简单粗暴,但是这个镜像里面啥环境都没,不适合调试开发。当然也可以套一层再做一个镜像。但是想到可能随着使用又需要安装其他的环境比较麻烦。
直接搭建
下载
前往 https://github.com/coder/code-server/releases 。最早写下相关笔记时的版本是4.13.0,现在整理成博客时已经到了[4.14.1]了...不过看了下这几个版本的更新内容,应该没啥太大区别,但是我这里的记录都是基于4.13.0
解压,进入工作目录
tar -zxvf code-server-4.13.0-linux-amd64.tar.gz cd code-server-4.13.0-linux-amd64 cd bin
启动
启动命令
./code-server \ --port 5580 \ --host 0.0.0.0 \ --auth password (默认) --cert (https证书)
脚本启停
启动
export PASSWORD="12345678" #预设密码 log_folder="logs" log_file="$log_folder/$(date +%Y-%m-%d).log" if [ ! -d "$log_folder" ]; then mkdir "$log_folder" fi nohup ./code-server --port 5580 --host 0.0.0.0 --auth password > "$log_file" 2>&1 & echo $! > pid.txt
或者就简:
export PASSWORD="12345678" #预设密码 nohup ./code-server --port 5580 --host 0.0.0.0 --auth password > "codeServer.log" 2>&1 & echo $! > pid
停止
kill -9 $(cat ./pid)
如果没有预设密码,进入站点也会告诉你去哪找密码:
同样也可以修改对应值来修改密码
体验
编辑文件
按着ctrl键时,鼠标点击文件,可以打开编辑文件
使用时遇上的一些问题
code-server在使用上和VSCode基本一致,所以有些设置方面的东西这里就不再重复了。而且以上内容基本上都有相关博客。接下来是遇到的一些问题。
vue
一旦我输入一个字符,内存就开始飞速飙升直到死机。起初并不知道原因,直到在code-server里看到了类似的issue。正巧我安装了volar
,试了下,关闭volar
后就没有这个问题了。于是去volar的仓库看看有没有类似的,尝试了这个方法解决,即开启volar的takeover模式。
C#
修改插件市场源
前不久新出了个C# Dev Kit
,想安装试试水,发现搜不到,原来是插件市场的源和VSCode不一样。(从其他各方面的信息来看,应该是license不支持),所以这后面的内容仅供参考:
修改[coder-server根目录]/lib/vscode/product.json
"extensionsGallery": { "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items", "controlUrl": "", "recommendationsUrl": "" }
重启
.NET SDK下载超时
这里我安装了这2个插件:
但是C#插件还会下载.NET Runtime,不知道是什么网络问题,一直下载失败。而且我寻思我已经装过了为啥还要装一个?能不能直接使用本地sdk?
打开setting.json
:
{ "dotnetAcquisitionExtension.existingDotnetPath": [ { "extensionId": "ms-dotnettools.csharp", "path": "/root/.dotnet/dotnet" }, { "extensionId": "ms-dotnettools.csdevkit", "path": "/root/.dotnet/dotnet" } ] }
重启
如果仍未修复,可能是dotnet路径不对
C#调试
参照VSCode的方式,创建了launch.json
,debugger却发现:
Unable to start debugging. .NET Debugging is supported only in Microsoft versions of VS Code. See https://aka.ms/VSCode-DotNet-DbgLicense for more information.
大意是说,debugger不是开源的,所以只能在微软发布的VSCode里用,code-server里不行(其他VSCode Web版也没法使用。
但是,还是有搞头:
https://github.com/VSCodium/vscodium/issues/82
前往netcoredbg下载 netcoredbg-linux-amd64.tar.gz。
tar -zxvf netcoredbg-linux-amd64.tar.gz
参照 https://github.com/VSCodium/vscodium/issues/82#issue-409806641 修改launch.json,
大部分内容都在创建这个文件时产生了,只需要按照他给的再加点内容就行了。
{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceFolder}/bin/Debug/netcoreapp_your_ver/your_proj_name.dll", "args": [], "cwd": "${workspaceFolder}", "console": "integratedTerminal", "stopAtEntry": false, "internalConsoleOptions": "openOnSessionStart", "pipeTransport": { "pipeCwd": "${workspaceFolder}", "pipeProgram": "bash", "pipeArgs": ["-c"], "debuggerPath": "/home/netcoredbg/netcoredbg", "quoteArgs": true } } ,] }
我这里运行报错/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26'
,拿着这句搜一搜自行解决吧。
运行成功效果
结语
瞎折腾了一番,不过本来就我而言,开发的体验还是前端用VSCode,后端用VS。code-server的体验和VSCode基本上大差不差。他的最主要的优势还是在于依赖少吧,只需要一个浏览器,sdk都不用装。但一般而言是碰不上这么苛刻的开发条件的。如果想的话,还可以直接去 https://github.dev/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器