推荐使用idea自带的wsl remote,而非手动配置

IDEA使用WSL作为默认的Terminal

File -> Settings -> Tools -> Terminal -> Shell path

在Shell path处填:

1
"cmd.exe" /k "wsl.exe"

如图

设置之后的效果

IDEA将node切换为WSL中的node

安装nvm/node

参考站内nvm的安装

File -> Settings -> Languages & Frameworks -> Node.js

如图

在下拉列表中选择ubuntu

IDEA使用wsl中的git

Setting -> Version Control -> Git

路径配置为 \\wsl$\Ubuntu-20.04\usr\bin\git

代理

1
2
3
4
5
git config --global http.proxy $http_proxy
git config --global https.proxy $https_proxy

git config --local http.proxy $http_proxy
git config --local https.proxy $https_proxy

IDEA使用wsl中的JDK和maven

安装jdk

第一步:下载jdk压缩包

wget --no-check-certificate https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

第二步:解压jdk压缩包

tar -zxvf jdk-17_linux-x64_bin.tar.gz

第三步:把jdk转移到/usr/local/目录下

mv jdk-17.0.5/ /usr/local/jdk/

第四步:配置环境变量

sudo vim /etc/profile

1
2
3
export JAVA_HOME=/usr/local/jdk/jdk-17.0.5
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=.:$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH

source /etc/profile

验证: java -version

安装maven

下载压缩包

1
wget --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz

解压缩

1
tar -xzvf apache-maven-3.8.6-bin.tar.gz

转移至固定目录(可选,但推荐)

1
2
mkdir /usr/local/maven
sudo mv apache-maven-3.8.6 /usr/local/maven/

配置环境变量

sudo vim /etc/profile

1
2
export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.6
export PATH=.:$MAVEN_HOME/bin:$PATH

source /etc/profile

验证:mvn -v

不建议使用idea手动配置wsl,卡顿,刷新不出来,问题太多,idea2022.3之后可以直接在远程wsl使用)

golang在wsl中的使用

安装golang

1
2
3
cd /usr/src
wget --no-check-certificate https://golang.google.cn/dl/go1.19.3.linux-amd64.tar.gz
tar -xvf go1.19.3.linux-amd64.tar.gz -C /usr/local/

配置GOROOT/GOPATH/GOPROXY

vim /etc/profile

1
2
3
4
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

source /etc/profile

1
2
go version
go env

Go1.14版本之后,都推荐使用go mod模式来管理依赖了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct
由于国内访问不到 https://proxy.golang.org 所以我们需要换一个PROXY,这里推荐使用https://goproxy.iohttps://goproxy.cn

可以执行下面的命令修改GOPROXY:

1
go env -w GOPROXY=https://goproxy.cn,direct

设置ide本身的代理

WSL下使用Clash for Windows

开启lan

配置环境变量

vim ~/.bashrc

1
2
3
4
5
export hostIp=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export http_proxy=http://$hostIp:7890
export https_proxy=http://$hostIp:7890
export all_proxy=sock5://$hostIp:7890
export ALL_PROXY=sock5://$hostIp:7890

source ~/.bashrc

测试: curl -I http://www.google.com

因为vEthernet地址会经常变,所以可以用crontab实现每次开机的时候自动获取ip

crontab -e

@reboot source ~/.bashrc

绕过系统代理

Clash for Windows 在 v0.4.5 版本后可以自定义系统代理需要绕过的域名或 IP

  1. 进入 Settings 页面

  2. 点击 System proxy -> Bypass Domain右边 Edit 小字打开编辑界面

  3. 若要增加绕过example.com域名,只需在修改编辑界面内容为:

    1
    2
    3
    4
    bypass:
    - "example.com" # 下面字段可不删除
    - 127.0.0.1
    - ...
  4. 点击编辑器右下角保存

TIP:

  1. bypass 类型为数组,item 为需要绕过的域名或节点,支持通配符*

  2. 最后一行对应系统中“请勿将代理服务器用于本地(Intranet)地址”选项,请确保此项在最底部

WSL下使用jmeter中文乱码

1
2
# 执行完命令后重启wsl
apt install fonts-noto-cjk -y