『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3178|回复: 0

Visual Studio Code调试Home Assistant代码(SSH版)

[复制链接]

23

主题

302

帖子

2165

积分

论坛技术达人

积分
2165
金钱
1838
HASS币
110

活跃会员教程狂人

发表于 2019-9-16 11:41:12 | 显示全部楼层 |阅读模式

备注

  • 拷贝自博客,排版格式随缘,如有问题可看原文。。。
  • 不设置隐藏了,觉得有用帮忙顶一下让更多人看到~

正文



Visual Studio Code在WSL或容器远程调试,需要在本地安装相应的WSL或者Docker Desktop,如需要尽量保持本地环境的简洁,采用SSH方式是一个更好的选择。

0.环境
  • Win10 + OpenSSH
  • Ubuntu 18.04 + Docker CE 19.03.1
  • Visual Studio Code 1.38.0

1.方法简介
SSH方式通过远程到Linux主机上,使用Linux主机环境实现代码调试,实际上VS Code官方文档已有很完整教程,有疑问可以多翻翻。为了隔离测试环境,在此使用容器部署Linux环境。

2.准备2.1.Windows
  • 安装OpenSSH客户端,Win10 1809 和 Windows Server 2019后系统默认安装好,其它版本参照教程进行安装。
  • 创建SSH钥匙对,会提示保存目录直接回车确认即可。
    复制
    1
    ssh-keygen -t rsa -b 4096

  • 将%USERPROFILE%\.ssh\目录下生成的id_rsa.pub(公匙)复制出来,将id_rsa(私匙)更名为id_rsa-hass-dev。
    INFO:更名的目的是作为专用的钥匙。

2.2.Linux
  • 下载Dockerfile,将上一步骤的id_rsa.pub放进同一个目录,然后上传至Docker宿主机。
  • 进入Dockerfile文件所在目录,构建镜像。
    复制
    1
    2
    3
    cd hass-dev
    # PIP_SOURCE指定pip源,HA_VERSION指定版本号
    docker build -t hass-dev:0.98.0 --build-arg PIP_SOURCE="http://mirrors.aliyun.com/pypi/simple/" --build-arg HA_VERSION="0.98.0" .

    INFO:PIP_SOURCE建议用阿里的,比较新。
  • 启动容器。
    复制
    1
    docker run -d -v ~/hass-dev-config:/usr/src/homeassistant/config -p 8022:22 -p 8456:8123 hass-dev:0.98.0

    INFO:把配置目录映射出来方便备份;需要映射容器22端口;可以不设置映射HA的8123端口,后续在VS Code设置映射到本地访问。


3.VS Code操作
  • 配置SSH连接信息。

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图
    复制
    1
    2
    3
    4
    5
    Host hass-dev                             # 主机名,自定义
      User root                               # 登录用户,不需要改动
      HostName 192.168.1.10                   # 宿主机IP,根据实际调整
      IdentityFile ~/.ssh/id_rsa-hass-dev     # 本地私钥文件
      Port 8022                               # 容器映射的端口,根据实际调整

    INFO:配置文件中应删掉注释。
  • 连接远程主机(容器)。

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图
  • 在远程主机(容器)上安装Python插件,代码调试需要。

                                   
    登录/注册后可看大图
  • 打开主目录,开始调试。

                                   
    登录/注册后可看大图

                                   
    登录/注册后可看大图


4.小结
  • 官方的HA镜像貌似没有给Dockerfile,只得自己写,顺便精简了一些文件。
  • VS Code的三种远程调试方法整体上操作流程都一样,难点都是远程主机环境的搭建。

博客 https://ljr.im
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 20:11 , Processed in 1.158718 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表