量化交易学习(二十一)vscode远程连接linux主机编写策略代码

上一篇文章介绍了怎么在linux下安装掘金量化的sdk,但都只是在命令行下操作,很不方便。今天这篇文章讲解一下怎么配置vscode的Remote-SSH,实现连接到linux服务器上,开发策略代码。

第一步当然是下载vscode啦,官网地址在这:https://code.visualstudio.com/

安装完后,打开vscode,点下左下角的这个按钮:

d2ec2a624f16f3f70ecc28dcfe885a34.png

然后在弹出的选项框里点击【连接到主机…】
b775fb753ade8567e045eee72132a33d.png

点击最下面的配置SSH主机:
23122ad83af5ab32f2a9c0170c3a7c70.png

点有自己用户名的那个ssh配置文件:
fb29b0b104962af601e890de3aec7034.png

会打开ssh的配置文件,
56689e65f60b71dfd45dde7781a82c40.png

大家可以按照下面这个模板往ssh配置文件中填写自己的配置:

1
2
3
4
5
6
Host 主机别名
HostName 主机ip
IdentityFile ssh私钥地址
User 用启名
ForwardX11 yes
ForwardX11Trusted yes

ForwardX11ForwardX11Trusted用于支持图形界面程序的展示,接下来会详细讲解怎么实现图形界面程序的远程执行,其他的几个配置项根据实际情况填写就可以了。

没有ssh私钥可以删去这一行,但在使用时,vscode会时不时让用户输密码。

下面来介绍怎么生成ssh证书,并配置实现证书登录:

1
2
3
4
# 生成证书
ssh-keygen -t ed25519 -C "<comment>"
# 把公钥拷贝到主机上
ssh-copy-id -i ~/.ssh/id_ed25519.pub hejd@192.168.0.112

配置好后,再修改ssh配置文件,例如:

1
2
3
4
5
6
Host quantlocal
HostName 192.168.0.103
IdentityFile /Users/hejiangda/.ssh/id_ed25519.pub
User hejd
ForwardX11 yes
ForwardX11Trusted yes

修改完后,在终端中输入ssh quantlocal就能直接通过ssh连接到主机上了。

之后再按vscode 左下角的绿按钮,在选择SSH主机界面中点击quantlocal 就能连接到linux主机上进行编程了。

86bd768388b25aef9dcd976b359e8bff.png

之后就可以像在自己电脑上那样访问linux主机上的文件,编写代码了。

1963bed00793ef7ea38ed5e3657b9675.png

不过,现在还没有支持运行图形界面的程序。可以通过xeyes命令来判断现在支不支持。

e9baafc625115ffd41f3e9af258a70f1.png

下面以mac为例介绍下怎么支持远程运行图形界面的程序。

首先安装XQuartz,它提供了mac下的X11环境。

1
brew install xquartz --cask

然后在mac的【启动台】中找到它并运行:

e9f9fbcd27f49a9adda896bf7280a317.png

运行后不会有任何输出,只是在下方dock上多了个正在运行的程序图标:

a7381a09c39a67295c0b28bcf0e7d2f0.png

最后,先关闭所有的vscode 窗口,再在终端里输入下面这串代码就能让vscode 支持运行linux主机上的图形界面程序了:

1
DISPLAY=:0 code

在新的vscode窗口里连接linux主机,在终端里输入xeyes如果能看到一双大眼睛说明成功了。
f46df6ef5668b866ee0423a313fc633c.png

接下来跑一个简单的backtrader回测并画出回测结果图:
6cd4041b251352f5e3a6a18d9a03f0d1.png

可以看到和在本机操作一样。


这一篇就到这里啦。欢迎大家点赞、转发、私信。还没有关注我的朋友可以关注 江达小记

江达小记