首页 > 系统相关 >linux搭建code-server及使用中遇到的问题

linux搭建code-server及使用中遇到的问题

时间:2023-07-17 14:44:51浏览次数:51  
标签:code log -- server VSCode https linux

系统环境

  • 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)

如果没有预设密码,进入站点也会告诉你去哪找密码:
image
同样也可以修改对应值来修改密码

体验

编辑文件

image

按着ctrl键时,鼠标点击文件,可以打开编辑文件

使用时遇上的一些问题

code-server在使用上和VSCode基本一致,所以有些设置方面的东西这里就不再重复了。而且以上内容基本上都有相关博客。接下来是遇到的一些问题。

vue

一旦我输入一个字符,内存就开始飞速飙升直到死机。起初并不知道原因,直到在code-server里看到了类似的issue。正巧我安装了volar,试了下,关闭volar后就没有这个问题了。于是去volar的仓库看看有没有类似的,尝试了这个方法解决,即开启volar的takeover模式

C#

修改插件市场源

前不久新出了个C# Dev Kit,想安装试试水,发现搜不到,原来是插件市场的源和VSCode不一样:
修改[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个插件:

image

但是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里不行。

但是,还是有搞头:
https://github.com/VSCodium/vscodium/issues/82

前往netcoredbg下载 netcoredbg-linux-amd64.tar.gz

tar -zxvf netcoredbg-linux-amd64.tar.gz

image

参照 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',拿着这句搜一搜自行解决吧。

运行成功效果

image

结语

瞎折腾了一番,不过本来就我而言,开发的体验还是前端用VSCode,后端用VS。code-server的体验和VSCode基本上大差不差。他的最主要的优势还是在于依赖少吧,只需要一个浏览器,sdk都不用装。但一般而言是碰不上这么苛刻的开发条件的。

标签:code,log,--,server,VSCode,https,linux
From: https://www.cnblogs.com/sigeer0-o/p/17540317.html

相关文章

  • sqlsever ip连接 navicat 连报错 sql server 设sa密码
    一、sqlserverip连接1、按下windows+R,弹出运行框。2、在弹出框中输入cmd,按下enter键。3、在dos命令窗口输入compmgmt.msc命令,按下enter键。将服务中:SQLServer(mssqlserver)、SqlServerBrowser启动 4、在计算机管理窗口-》展开服务和应用程序-》展开SQLServer配置管理......
  • linuxIP地址和主机名,再虚拟机中配置linux固定IP
    1.IP地址IPV4版本地址格式:a.b.c.d,其中abcd是0-255的数字可以通过ifconfig查看本机的IP地址2.特殊IP地址127.0.0.1,表示本机0.0.0.0,可以指代本机,也可以在端口绑定中用来确定绑定关系,还可以在IP地址限制中表示所有的IP允许所有IP访问3.主机名每一台电脑除......
  • Linux下建立NFS共享目录
    https://blog.csdn.net/anluo233/article/details/125921403https://blog.csdn.net/zhangxucumt/article/details/125935901......
  • java在指定目录执行linux命令
    在指定目录执行Linux命令的Java实现概述在Java程序中通过执行Linux命令可以实现一些系统级别的操作,比如启动、停止进程,创建、删除目录等。本文将向刚入行的小白开发者介绍如何在Java中执行Linux命令,并指导他完成该过程。步骤步骤动作代码1创建ProcessBuilder对象Pr......
  • 搭建远程开发环境@Win11+OpenWrt+Vscode+WSL2+Ubuntu22.04
    Pre之前618从pdd上买了配件,第一次尝试自己组装了电脑,本意是作为炼丹炉,不过毕竟是自己的电脑不像服务器可以一天到晚打黑工,还是用来开发就好,测测代码跑跑ai。没显示器——远程连接(后来还是买了,而且今天才发现买的那款大降价,唉),没键鼠——远程连接,没网络——二手路由刷openwrt去中......
  • SQL Server 2016 KB2919355 安装失败
    WindowsServer2012R2安装SQLServer2016检查未通过,需要安装KB2919355。错误如下图: 按提示,下载安装WindowsServer2012R2更新(KB2919355),下载文件为:Windows8.1-KB2919355-x64.msu(690MB)。但是安装时又提示错误! KB2919442是WindowsServer2012R2更新......
  • LeetCode 287. 寻找重复数
    classSolution{public:intfindDuplicate(vector<int>&nums){if(nums.size()<2)returnnums[0];intn=nums.size();intfast=0,slow=0;do{slow=nums[slow];fast=nums[fast......
  • LeetCode 热题 100 之 160. 相交链表
    题目描述给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义评测:评测......
  • Codeforces Round #885 (Div.2) Editorial
    B-VikaandtheBridge题意:从桥的一边走到另一边,每次只能踩在相同颜色的木板上,并且有一次操作,可以修改期中一个模板的颜色。问那种走法,跨过模板的最大值最小。思路:首先可以统计出选择每种颜色的,跳过木板的的个数,如果不能修改颜色,那么答案一定是每个颜色所对应的最大值的最小......
  • 跟运维学 Linux - 01
    跟运维学Linux-01运维的诞生运维工程师有很多叫法:系统运维、Linux工程师、系统管理员...网管可以说是运维工程师最早的雏形。在个人电脑未普及时,大家去网吧玩游戏。玩家:“网关,我的电脑上不了网了”网管负责维修电脑、维修系统、维护网络设备...互联网的发展现在大家在......