您的位置:首页 > 运维架构 > Linux

linux开发环境配置:VScode下添加WSL终端

2020-06-06 04:58 615 查看

因为虚拟机太卡所以投奔wsl……有了它,win10用户再也不用祸害自己的钱包还有可怜的内存。
本文记录一下wsl安装过程。更多可查询官方文档

一、安装WSL
1.启用或关闭Windows功能
系统设置→应用→程序和功能→启用或关闭Windows功能→适用于Linux的Windows子系统”√ “虚拟机平台”√

2.安装 WSL
在microsoft store搜索wsl,选择安装一个Linux 发行版,这里安装了 Ubuntu 18.04 LTS。
中间如果出现error,以管理员权限启动 PowerShell,然后输入以下命令再次确认已经启用虚拟机平台和linux子系统

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

下载完毕后打开ubutu应用,进入安装,创建账户和密码(暗文)

3.查看与设置wsl版本
(1)列出当前系统上已经安装的 Linux 子系统名称

wsl -l

(2)指定Linux 发行版的 WSL 版本
在cmd输入winver可以查看自己windows版本。
我的电脑还没到Windows 10版本 18917 ……所以wsl2这一步可以略过,只用wsl。
wsl2安装文档

4.WSL文件位置
Windows 下查看 WSL 文件位置(linux系统根目录)
C:\Users\luzhi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
WSL 将其它盘符挂载在 /mnt 下

二、配置wsl
1.更换软件源

(1)复制源文件备份

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

(2)查看版本信息

lsb_release -c

Ubuntu 18.04 LTS 的codename是 :bionic
(3)编辑源文件sources.list
linux的vim方法

sudo vim /etc/apt/sources.list

不熟linux操作则在windows下找到wsl文件目录的sources.list文件,然后修改。这里选用了阿里的源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

(4)更新升级

sudo apt-get update
sudo apt-get upgrade

2.安装 oh-my-zsh
(1)安装 zsh

sudo apt-get install zsh  #安装zsh
chsh -s $(which zsh) #设置默认 shell 为 zsh
echo $SHELL #检查是否设置成功

安装成功后再进入ubuntu界面会变成zsh界面。

(2)安装 oh-my-zsh
①自动安装:有crul和wget两种方式

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

但都显示connection refused……经查询发现问题出在raw.githubusercontent.com地址DNS污染。参考博文修改host:

sudo vim /etc/hosts
#绑定host
151.101.72.133  raw.githubusercontent.com

查不到真实host,自动安装失败……= =

②手动安装:终于成功

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

3.wsl配置
(0)比较零碎的东西

  • 每次修改完配置让其生效,输入
source ~/.zshrc
  • 遇到permission denied
    在前面加sudo可以解决,或者直接设置最高权限su
  • 设置shell
cat /etc/shells #查看现有的shell
chsh -s /bin/zsh #切换默认shell为zsh

(1)插件安装

  • 语法高亮插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
  • 命令自动补全插件
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
#echo "source ${(q-)PWD}/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

更多插件实际需要再装

(2)vim配置插件
vim命令还要多学习一下。
Oh My Zsh默认是只启用git插件,如需启用更多插件,可加入需启用插件的名称。

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
#或在配置文件添加一行
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh

(3)主题设置

colortool.exe -b deuteranopia
colortool.exe -b OneHalfDark
colortool.exe -b OneHalfLight
colortool.exe -b solarized_dark
colortool.exe -b solarized_light
  • oh-my-zsh自带默认很多命令行主题

初步配置先到这么多。接下来

二、VScode与WSL联动
本身已经为了学习python而安装VScode+anaconda的开发环境。安装WSL后马上在VScode下载了Remote-WSL的扩展

于是vscode下我有三个终端:一个是CMD,一个是PowerShell,还有一个wsl bash。
安装完之后打开New Window,安装ubuntu后左下角如下。默认已经把zsh作为终端了。

进入 WSL 中时 VS code 的本地扩展都是没有的,需要在 WSL 下再安装。我需要装的不多所以拿别人的图来说明。

尝试编写一个python脚本。文件保存非常方便。

在VScode下直接进行vim操作对脚本进行编辑也可以,相当于ubuntu应用的shell。

linux在目录下直接运行py文件(类似windows运行.exe),需要经过一波操作。
方法1方法2归结为:

#!/usr/bin/python         #python脚本第一行必加,调用python解释器
sudo chmod +755 <filename>.py    #回到终端,赋予文件权限
./<filename>.py    #调用文件

最后结果如下:

最后比较一下几种调用py代码的方法作为补充。

  • windows的终端(特征是前面有base)
    和上面一样都需要用编辑器保存py文件再调用
  • python交互式命令行(特征是前面>>>)
    普通终端转换为python终端之后可以长这样。
    总的来说我个人还是习惯用python交互式命令行(python终端)写程序一下子出结果,但在代码块保存封装方面不够方便,所以py文件调用也是要懂的。

三、wsl和windows文件互相访问
之前都是在windows系统里写python代码的,现在为了写作业研究一下怎么传文件到linux里面,反过来应该也一样。具体参考这里

wsl终端访问windows文件:在wsl终端输入以下命令,直接在windows文件夹界面处理

explorer.exe .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: