WinパソコンのVSCodiumから、ラズパイ上でPython PHP Java C++ C# Go開発を行う

WindowsパソコンにインストールしたVisualStudioCodeから、同一LAN上のラズパイにリモート接続して、ラズパイ上のPython環境を使って、Pythonプログラム開発を行います。

ラズパイ上では、Visual Studio Codeのフォークである、「VSCodium」を使います。
「VSCodium」は、Visual Studio CodeをLinux上にインストールする方法です。
Visual Studio Codeは「Code-OSS」という名前のオープンソースが元で、ソースコードはMITライセンスの下でオープンソース化されており、Microsoftがカスタマイズしたのが、「Visual Studio Code」です。

ラズパイのpython開発環境として、「Visual Studio Code」のRemote Developement拡張機能があり、リモートからプログラム開発ができます。
拡張機能の追加で、Phthon PHP Java C++ C# Go が開発できます。

ちなみに、説明の中で挿入している画像データは小さくて見ずらいですが、クリックするとポップアップするようにしています。

ラズパイに「VSCodium」をインストール

/home/pi/vs フォルダを新規追加し、所有者にのみ権限を与えるため、
パーミッションは、「700」を与えておきます。

①GPGファイルの取得とインストール

cd /home/pi/vs
curl https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor > vscodium-archive-keyring.gpg
sudo install -o root -g root -m 644 vscodium-archive-keyring.gpg /etc/apt/trusted.gpg.d/
rm vscodium-archive-keyring.gpg

②リポジトリ情報の追加とシステムへの反映

sudo vi /etc/apt/sources.list.d/vscodium.list
以下を入力してファイルwrite
deb https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/repos/debs/ vscodium main
sudo apt update
sudo apt -y install codium

③拡張機能のインストール(VSCのCodeコマンドにあたるCodiumコマンドを使います)

codium --install-extension MS-CEINTL.vscode-language-pack-ja ←日本語拡張機能
codium --install-extension PKief.material-icon-theme     ←アイコンの見た目を良くする
codium --install-extension CoenraadS.bracket-pair-colorizer ←カッコの対応とインデントを整える
codium --install-extension oderwat.indent-rainbow      ←カッコの対応とインデントを整える
codium --install-extension ms-python.python

④作業用デレクトリ(/home/pi/workspace/vsc00)とファイルの用意

mkdir -p /home/pi/workspace/vsc00
echo "file1" > /home/pi/workspace/vsc00/file1.txt
echo "file2" > /home/pi/workspace/vsc00/file2.txt

⑤ラズパイのデスクトップ画面上の端末から、Codium を起動

cd ~/workspace/vsc00
codium .



※ Telemetory(アプリの利用状況の情報収集など)の設定を無効にするには、「ファイル」-「基本設定」-「設定」を開き、検索文字列「Telemetory」を指定(設定は行わなかった)

Windowsパソコンに、VSC をインストール

https://code.visualstudio.com/


Setupファイルをダウンロードし、ダブルクリックして、インストーラーを起動

「使用承諾書の同意」画面で、「次へ」をクリック
「インストール空きの指定」画面では、標準設定で問題ないので、「次へ」
「プログラムグループの指定」画面も標準設定で問題ないので、「次へ」
「追加タスクの選択」画面は、「PATHへの追加」のみ選択状態で、「次へ」
「インストール準備完了」で「インストール」をクリック
「Visual Stadio Codeセットアップウィザードの完了」で、「完了」をクリック
Visual Stadio Codeが起動するので、日本語化を行う

メニューの
「View →
Command Palete」
を開きますコマンドパレットが開くので、「Configure Display Language」
をクリック
「Install additional languages…」をクリック
言語のリストの「日本語」の「Install」を
クリック
「Install」をクリック後、
コマンド枠に位置付くので、[RETURN]をクリック
「Restart Now」をクリック
再起動されて、日本語化された

ラズパイの開発機能の追加

作業用デレクトリ(/home/pi/workspace/vsc01)を作成

sudo mkdir -p /home/pi/workspace/vsc01

コードチェック用ツールの「pylint」で使う設定ファイルを、pylint3コマンドで作成

cd /home/pi/vs
pylint3 --generate-rcfile > ~/.pylintrc

ラズパイのデスクトップ画面上の端末から、Codium を起動

cd ~/workspace/vsc01
codium .

VSCodium が起動するので、アイコンを Material Icon Theme に変えます。

アイコンを Material Icon Theme にする

VSCodiumを一度、閉じて、再度、コマンドから立ち上げる

Material Icon Theme を Active にする
ワークスペース単位での管理

ここでは、VSC01 フォルダしか含まれていないが、ワークスペースには、
複数フォルダを含めることができる。
vsc01 と名前を指定して、「保存」をクリック

ワークスペースを閉じる

ワークスペースを開く

ワークスペースを開いた画面

vsc01.code-workspce をクリック

リモート開発のためのRemote Development拡張機能を動かすために、WindowsパソコンでVS Code Server を動かします

  • WindowsパソコンのPowerShell で実施
  • Windowsパソコンからラズパイに接続するためのsshの設定をします
PS C:\Users\ユーザ名> cd $env:HOMEDRIVE$env:HOMEPATH
PS C:\Users\ユーザ名> mkdir .ssh
PS C:\Users\ユーザ名> ssh-keygen -f .ssh\id_rsa_(ラズパイホスト名)
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):  ←[Return]
Enter same passphrase again:                 ←[Return]
Your identification has been saved in .ssh\id_rsa_(ラズパイホスト名).
Your public key has been saved in .ssh\id_rsa_(ラズパイホスト名).pub.
The key fingerprint is:
SHA256:15RJ381dkmi9mBw9HLtkYUxQv875QduADN0QySmZybA arwsm@LNV-miko
The key's randomart image is:
+---[RSA 2048]----+
|        .o ==&Bo.|
|         .*oBBBB+|
|        E .+=+*o*|
|           =++...|
|        S . + oo |
|         .    +.+|
|               *.|
|                o|
|                .|
+----[SHA256]-----+
PS C:\Users\ユーザ名> scp .ssh\id_rsa_r3b-bsf-base.pub pi@(ラズパイホスト名).local

  • 最後の scp はなぜか、うまくいなかなかったので、WinSCP でファイル転送した。
    (mDNS不調?)

  • SSHの設定はできているはずなので、WindowsパソコンからラズパイにSSH接続する
PS C:\Users\ユーザ名> ssh pi@(ラズパイホスト名).local
The authenticity of host '(ラズパイホスト名).local (fe80::9ddc:2a63:3023:6bec%15)' can't be established.
ECDSA key fingerprint is SHA256:6M5CGf+uD3hymEgpr02LAoSlc63ucoIrINLmSmt7g+c.
Are you sure you want to continue connecting (yes/no)?   ← yes
Warning: Permanently added 'r3b-bsf-base.local,fe80::9ddc:2a63:3023:6bec%15' (ECDSA) to the list of known hosts.
pi@(ラズパイホスト名).local's password:        ←(パスワード)
Linux r3b-bsf-base 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;Linux (ラズパイホスト名) 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Apr 22 21:01:55 2020 from 192.168.0.177
pi@(ラズパイホスト名):~ $ mkdir .ssh && chmod 700 .ssh
pi@(ラズパイホスト名):~ $ cat id_(ラズパイホスト名).pub >> .ssh/authorized_keys

できなかったので、WinSCPで /home/pi に pub をおいて、.ssh/authorized_keys に cat した
pi@(ラズパイホスト名):~ $ chmod 644 .ssh/authorized_keys
pi@(ラズパイホスト名):~ $ rm id_(ラズパイホスト名).pub
pi@(ラズパイホスト名):~ $ exit
ログアウト
Connection to (ラズパイホスト名).local closed.

Windowsパソコンに、リモート開発のためのRemote Development拡張機能をインストール

PS C:\Users\ユーザ名> call code --install-extension MS-CEINTL.vscode-language-pack-ja |
call code --install-extension PKief.material-icon-theme |
call code --install-extension CoenraadS.bracket-pair-colorizer |
call code --install-extension oderwat.indent-rainbow |
call code --install-extension ms-python.python |
call code --install-extension ms-vscode-remote.vscode-remote-extensionpack[RETURN]

Windowsパソコンで、Visual Stadio Code を起動して、ラズパイに接続する

Visual Stadio Code 起動

コマンドレットで、Remote-SSH:Add New SSH Host を入力
「ssh -i /.ssh/id_rsa_(ラズパイホスト名) pi@(ラズパイホスト名).local 」を入力
C:\Users\(ユーザ)\.ssh\config を入力
もう一度、コマンドレットを開いて、Remote-SSH: conect to Hostを入力
※ 下記イメージのように、Remote-SSH まで入力すれば、一覧される
一覧からラズパイを選んで接続
アクセス許可をする
プラットホームを聞かれるので、「Linux」を選択
パスワードを入力
画面左最下部に、リモート接続中の表示
接続された。
ラズパイと接続できた。