当前位置: 首页 > news >正文

windows + ubuntu + vscode开发环境配置安装

一、卸载WSL/WSL2

        如果安装了windows子系统的朋友,可以选择继续使用。或者提前卸载WSL,再选择安装虚拟机。虚拟机占用内存较大,WSL可能对于开发的一些需求还有欠缺。根据自己的实际情况进行选择。

        WIN10/11安装WSL(请参考官方资料,很详细):

        外部连接审核不通过:见评论区

彻底卸载WSL

(1)删除Linux发行版

(2)删除Linux组件

(3)从Windows中删除Linux

  (4)   重启电脑

二、安装VM 

下载链接:

     外部连接审核不通过:见评论区

(1)准备一个盘,专门放虚拟机,方便后期管理

(2)安装VMware

这里更改一下安装路径,其他直接默认安装即可。

密钥百度一下:

 外部连接审核不通过:见评论

 三、安装ubuntu

        ubuntu有两种,一种是带桌面的,一种是不带桌面的。这里建议安装不带桌面的版本(server版),带桌面的对与我们开发来说用不上,在一定程度上带桌面的版本性能相对低一点,差别不大。

镜像下载:

外部连接审核不通过:见评论

----------------------------------------------------------------------------------------------------------------------

安装流程:

接下来一路下一步即可...

不要选择中文、不要选择中文,会有问题,安装不了

选择第一个Install Ubuntu Server

继续选择语言为英文

位置选择其它

再选择亚洲

中国

美国

不需要测试键盘布局

键盘使用英文

等待联网安装

设置主机名

创建用户

设置用户密码

确认密码

确定使用弱密码

选择不加密主目录

配置时区

选择LVM 磁盘扩容技术

回车确认

将LVM写入磁盘

设置最大磁盘

将改动写入磁盘

不需要设置代理

安装完成,不要配置自动更新

选择需要哪些服务

点击YES

安装完成

四、安装vscode

官网下载地址:

 外部连接审核不通过:见评论

瓜式安装,不过多的强调了

五、配置远程登录

(1)检查是否安装了ssh

dpkg -l | grep ssh

如果没有安装:

sudo apt-get install openssh-client

sudo apt-get install openssh-server

sudo apt-get install ssh

(2)开启ssh服务

sudo /etc/init.d/ssh start

(3)ifconfig查看IP地址

(4)用远程工具连接(xshell或者MobaXterm)

 六、连接vscode

配置文件即可

设置免密登录

如果ubuntu版本比较低,可能没有.ssh目录。在终端输入 ssh localhost

ls -a就可以看到了

-------------------------------------------------------------------------------------------------------------------------

生成-密钥

​查看是否成功

创建一个 authorized_keys的文件

touch authorized_keys

将windows下的的公钥粘贴上去(C:\Users\RedmiBook\.ssh\id_rsa.pub)

新建窗口,如果没有成功,重启ssh服务

sudo service ssh restart

七、安装git

sudo apt-get update

sudo apt-get install git

 八、安装gcc/g++

sudo apt update

sudo apt install build-essential

为了方便,这么这里一键安装gcc、g++、make、libc-dev、dpkg-dev、binutils

  • GCC:GNU C编译器
  • G++:GNU C++编译器
  • Make:构建工具,用于自动化代码编译和构建过程
  • libc-dev:标准C库头文件和静态库文件
  • dpkg-dev:Debian软件包开发工具集合
  • binutils:二进制工具集,包括链接器、汇编器等

gcc --version

g++ --version

目前没有升级的必要性,如果觉得版本太低,需要升级,请参考(请注意自己的ubuntu版本):

ubuntu升级gcc和g++
https://blog.csdn.net/weixin_45747535/article/details/125902856

 九、安装cmake

ubuntu 16.04 默认安装的 cmake 版本为 3.5.1

这里我们就不安装 3.5.1版本了,但有时编译一些包时需要更高的版本,需要升级 cmake。

1.从官网下载安装包

源码安装cmake--安装指定版本
https://blog.csdn.net/weixin_46568899/article/details/128655214

2.通过PPA进行安装(其他版本类似)

sudo add-apt-repository ppa:george-edison55/cmake-3.8.1

sudo apt-get update

sudo apt-get install cmake

(很容易失败)

我们采用第一种方式:

sudo wget https://cmake.org/files/v3.25/cmake-3.25.0.tar.gz

直接去网站下载吧

解压

sudo tar -zxvf cmake-3.8.2.tar.gz

配置

sudo ./bootstrap 或者 sudo ./configure(这个好像有点问题)

编译

sudo make -j4

安装

sudo make install

cmake --version

十、ubuntu换apt源

Ubuntu换源是为了更快地下载软件,提高软件包更新的速度

 外部连接审核不通过:见评论

内推荐:(阿里的比较稳定点)

清华源 -->

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

网易源 -->

deb http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ wily-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ wily-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ wily main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ wily-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ wily-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ wily-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ wily-backports main restricted universe multiverse

阿里云:

deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

备份,防止替换的源无效

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

sudo vim /etc/apt/sources.list

把上面的粘贴上去

更新源

sudo apt-get update

这些需要更换,或者清理下

其他的一些apt命令

十一、安装VSCode插件

本机:

个人比较喜欢的主题:

ubuntun中

基础的插件这么多基本够用了,后续需要的,自己安装即可...(数据库这些)

十二、代码提示、补全

​​

十三、vscode设置调试功能(配合CMakeLists.txt)

对于如何设置vscode进行断点调试 -- 这里根据需求进行配置

 外部连接审核不通过:见评论

里只适合单个共享项目中,单个来...零散的不要配置了,用gdb更方便

十四、其他 

1.远程连接工具(终端)

推荐使用 MobaXterm --> 免费,个人觉得比XShell好用很多

2.文件传输(建议添加windows和Linux之间的共享文件夹,更快更方便)

3.抓包工具tcpdump等

....

相关文章:

windows + ubuntu + vscode开发环境配置安装

一、卸载WSL/WSL2 如果安装了windows子系统的朋友,可以选择继续使用。或者提前卸载WSL,再选择安装虚拟机。虚拟机占用内存较大,WSL可能对于开发的一些需求还有欠缺。根据自己的实际情况进行选择。 WIN10/11安装WSL(请参考官方资料&#xff0c…...

设计模式:责任链模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《享元模式》 下一篇《解释器模式》 简介: 责任链模式,它是一种行为型设计模式,它将许多对象连接起来形成一条链,每个对象处理不同的请求&#xff0c…...

koa搭建服务器(二)

在上一篇文章已经成功的运行了一个http服务器,接下来就是使用Sequelize ORM(官方文档:Sequelize 简介 | Sequelize中文文档 | Sequelize中文网)来操作数据库。 1、安装依赖 首先也是需要安装相关的依赖 npm i sequelize npm i …...

LeetCode 125 验证回文串 简单

题目 - 点击直达 1. 125 验证回文串 简单1. 题目详情1. 原题链接2. 题目要求3. 基础框架 2. 解题思路1. 思路分析2. 时间复杂度3. 代码实现 1. 125 验证回文串 简单 1. 题目详情 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反…...

Android底层摸索改BUG(一):Android系统状态栏显示不下Wifi图标

这是我入职的第一个BUG,头疼,隔壁实习生一周解决了,我多花了几天 其中最大的原因就是我思考复杂了,在公司系统上,此BUG标题为: 请确认Wifi优先级,状态栏Wifi被忽略 BUG意思就是:当…...

第十三章---枚举类型与泛型

一,枚举类型 1.使用枚举类型设置常量 设置常量时,我们通常将常量放置在接口中,这样在程序中就可以直接使用。该常量稚因为在接口中定义常量时,该常量的修饰符为 final 与 static。 public interface Constants ( public static …...

shell语法大全(超级详细!!!!),非常适合入门

本文旨在对y总的Linux基础课shell语法做学习记录,指令较多,方便日后查找。 参考视频:Linux基础课 参考教程:Linux教程 1 概论 Linux中常见的shell脚本有很多种,常见的有: Bourne Shell(/usr/bin/sh或/bi…...

【Python机器学习】零基础掌握ExtraTreesRegressor集成学习

面临的问题:如何更准确地预测糖尿病患者的病情? 在医疗领域,准确预测疾病的发展状况是至关重要的。尤其是对于糖尿病这样的慢性病,一个精准的预测模型能帮助医生制定更有效的治疗方案。但问题是,如何构建一个高准确度的预测模型呢? 假设现有一组糖尿病患者的医疗数据,…...

网络协议--TCP的交互数据流

19.1 引言 前一章我们介绍了TCP连接的建立与释放,现在来介绍使用TCP进行数据传输的有关问题。 一些有关TCP通信量的研究如[Caceres et al. 1991]发现,如果按照分组数量计算,约有一半的TCP报文段包含成块数据(如FTP、电子邮件和U…...

IOC课程整理-13 Spring校验

1. Spring 校验使用场景 2. Validator 接口设计 3. Errors 接口设计 4. Errors 文案来源 5. 自定义 Validator 6. Validator 的救赎 7. 面试题精选 Spring 校验接口是哪个 org.springframework.validation.Validator Spring 有哪些校验核心组件?...

SSM咖啡点餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 咖啡点餐管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主 要采用B/S模式开…...

Capacitor 打包 h5 到 Android 应用,uniapp https http net::ERR_CLEARTEXT_NOT_PERMITTED

Capacitor 打包 h5 到 Android 应用,uniapp https http net::ERR_CLEARTEXT_NOT_PERMITTED capacitor 官网: https://capacitorjs.com/docs/ 项目上需要做一个 app,而这个 app 是用 uniapp 做的,里面用到了一个依赖 dom 的库&…...

华为数通方向HCIP-DataCom H12-831题库(多选题:101-120)

第101题 LSR对收到的标签进行保留,且保留方式有多种,那么以下关于LDP标签保留一自由方式的说法 A、保留邻居发送来的所有标签 B、需要更多的内存和标签空间 C、只保留来自下一跳邻居的标签,丢弃所有非下一跳铃邻居发来的标签 D、节省内存和标签空间 E、当IP路由收敛、下一跳…...

misc学习(4)Traffic(流量分析)-

感悟:回想起自己学的计算机网络和网络协议分析,有所感悟:计算机网络好比将一群人区分开来(局域网),为了能够使得不同部分的人能够沟通(wireshark中的数据包),就设置了网络…...

Less的基本语法

less的每一个语句后必须使用";"结束,否则可能无法正确的转换成css 1、导入 即在当前less文件中引用其它less文件,被引入的less文件中的内容可以在此less文件中使用。在引用less文件时可以省略扩展名 import "global"; // global.…...

spring boot项目优雅停机

1、关闭流程 停止接收请求和内部线程。判断是否有线程正在执行。等待正在执行的线程执行完毕。停止容器。 2、关闭过程有新的请求 在kill Spring Boot项目时,如果有访问请求过来,请求会被拒绝并返回错误提示。 在kill Spring Boot项目时,Sp…...

链式存储方式下字符串的replace(S,T1,T2)运算

链式存储方式下字符串的replace运算 ⭐️题目⭐️思路⭐️代码✨定义结点✨打印字符串函数✨计算字符串函数✨初始化字符串函数✨代码解读✨字符串替换函数✨字符串替换函数解读✨ 主函数✨完整代码 实现在链式存储下字符串的replace(S,T1,T2),来自课本习题的一道题…...

unity脚本_Mathf和Math c#

首先创建一个脚本 当我们要做一个值趋近于一个值变化时 可以用Mathf.Lerp(start,end,time);方法实现 比如物体跟随...

轻量级仿 Spring Boot=嵌入式 Tomcat+Spring MVC

啥?Spring Boot 不用?——对。就只是使用 Spring MVC Embedded Tomcat,而不用 Boot。为啥?——因为 Boot 太重了:) 那是反智吗?Spring Boot 好好的就只是因为太重就不用?——稍安勿…...

笔记Kubernetes核心技术-之Controller

2、Controller 2.1、概述 在集群上管理和运行容器的对象,控制器(也称为:工作负载),Controller实际存在的,Pod是抽象的; 2.2、Pod和Controller关系 Pod是通过Controller实现应用运维,比如:弹…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

2025季度云服务器排行榜

在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

高防服务器价格高原因分析

高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...

WebRTC调研

WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...