当前位置: 首页 > 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实现应用运维,比如:弹…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

MFC内存泄露

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

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色&#xf…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...