Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CyberAgent AI Lab研修 / IDEで効率的な研究開発_VS Code編

sky24h
March 10, 2025

CyberAgent AI Lab研修 / IDEで効率的な研究開発_VS Code編

sky24h

March 10, 2025
Tweet

Other Decks in Programming

Transcript

  1. 2 自己紹介: 黄 源天 / Huang Yuantian 所属: CyberAgent AI Lab Graphics

    チーム 研究トピック:動画像編集と生成、Digital Human 経歴: 2018~2024年 研究生 → 修士 → 博士  (筑波大学コンピュタービジョン研究室) 2024年4月1日 CyberAgent AI Labに入社    (Research Engineerとして) 趣味: ゲーム(特にシミュレーション)、旅行 コウ ゲンテン
  2. 5 1.1 VS Codeとは? Visual Studio Code(以下、VS Code)は、Microsoft社が開発しているソース コードエディタです。 この資料ではVS

    Codeの基礎的な使い方から応用、設定の仕方、複雑なカ スタマイズまで幅広く紹介します。 • IDEとソースコードエディタの違い IDE(Integrated Development Environment/統合開発環境)はソフトウェア開発のための 統合的なプログラミング環境であり、様々なツールの集合からなります。 厳密に言えば、VS CodeはIDEではなくソースコードエディタです。 VS Codeはダウンロードしただけでは 基本的なコード編集の機能しかありません。 • しかし、適切に設定することで PyCharmなどのIDEに劣らないカスタマイズを行えます。
  3. 6 1.2 なぜVS Code? • 軽量で便利 研究活動で大規模なプロジェクトを管理しない場合は特に、 VS Codeのような軽量でカスタマイズできる ツールが適しています。

    • 無料ながらリモート開発が強い もう一つの大きな理由として、サーバー側での計算が必要な分野においてリモート開発が重要 となり、これもVS Codeの強みです。第3章では実際の使い方を説明します。 以上のことから、VS Codeは研究者におすすめでき、実際に研究者の間でも非常に人気が高い ※です。 ※: 2025年3月時点では、GitHub上で168K以上の⭐を獲得している。
  4. 14 2.1 UI, Color Themes • 表示言語を日本語にしたい方は以下のショートカットから、 [Configure Display Language]を入力し

    て選択したら、UIの表示言語を日本語に変えることができます。 MacOS Windows ⇧ + ⌘ + P Shift + Ctrl + P
  5. 15 2.2 ソースコード編集 • Formatter, Linter機能 Python Coding Best Practice

    → Formatter and Linter にも説明されているRuff, flake8, autopep8, Blackなどが使えます。これらのツールを使用することで、自動的にコーディング規則に違反している部分 の提示や修正を行うことができます。プラグインをインストールした後、 Linterは自動で動作し、Formatter は以下のショートカットで実行されます。保存時の自動化も 設定できます。 MacOS Windows ⇧ + ⌥ + F Shift + Alt + F
  6. 20 2.2 ソースコード編集 • Multiple selections (multi-cursor) ◦ 複数行を同時に編集するショットカット ◦

    クリックするだけで、好きな場所を同時に編集 できるショットカット: MacOS Windows ⌥⌘↓ or ↑ Alt + Ctrl + ↓ or ↑ MacOS Windows ⌥+Click Alt + Click
  7. 32 3. リモート開発:GCEとの連携 • VS Codeから、リモートサーバー( GCE、WSL、Containerなどを含む)に接続する方法に ついて説明します。まずは「 Remote Development」

    というプラグインをインストールしたら、必要な 拡張機能は全てインストールされます。 • VS Codeからリモートサーバーに接続したら、ローカルとほぼ変わらないさまざまな拡張機能が使え るようになります。 • GCEのウェブSSHなどでも繋がりますが、やはり制限が多くて効率的ではないと思われます。
  8. 33 3.1 SSH経由の方法(メイン) • 一番安定の方法として、直接 SSH経由でリモート接続することができます。 • SSHとは何なのか? SSHはSecure Shell略称で、暗号や認証技術を利用して、安全にリモートコンピュータと通信するた

    めのプロトコル。SSHでは、「公開鍵認証」と「パスワード認証」の二種類認証方式がありますが、セ キュリティのために、 パスワードではなく公開鍵認証で接続します。 • そのため、まずは(秘密鍵と公開鍵)を用意する必要があります。 既に存在する公開鍵を利用することも可能ですが、使い回しすぎないようにご注意ください。新しい 鍵ペアは、各OSでも同じく以下のコマンドで簡単に作成できます: ssh-keygen ~/.ssh/id_rsa(秘密鍵)と~/.ssh/id_rsa.pub(公開鍵)のペアが作れます。 その後、公開鍵をサーバー側に登録し、秘密鍵を用いて認証を行います。
  9. 36 3.1 SSH経由の方法(メイン)→ GCE との連携  • クライアント側( Macbookやノート PC)の設定: VS

    Code側でSSH Config Fileを開いて、以下のように設定します。 Userは先設定したusernameと同じ にします。 • これで設定が完了します、インスタンスが消されてない限り再設定は要らないです。 以下のようにクリックするだけで接続できます!
  10. 37 3.2 VS Code Tunnel • VS Code TunnelはVS Code独自の接続方法で、

    GitHubアカウントと紐付けています。 ただし、Azure経由で接続しているため、安定性には欠ける場合があります。そのため、 SSH接続 ができない場合にのみご利用をお勧めします。 ◦ 接続先はGUIが存在する場合は、使い方は非常に簡単です: I. 以下のところからTunnelが作れます。 II. Tunnelが作成されると、Remoteのセクショ ンにTunnelsが表示されます。SSHと似たよう な形で接続できます。
  11. 38 3.2 VS Code Tunnel • GUIが存在しない場合(GCEなど)は、Command Lineでも出来ます: 任意のパスで以下のコマンドを実行すると、 GitHubアカウントの認証が要求されます。認証が完了

    すると、GUIと同様なTunnelが作成されます。 • Container内で実行するときに、以下のエラーが出るかもしれません: • その際は、代わりに以下のコマンドを実行することで同じことができます: ({NAME}は自由に設定してください。) curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gz tar -xf vscode_cli.tar.gz ./code tunnel service install nohup ./code tunnel --name {NAME} --no-sleep --accept-server-license-terms >> tunnel.log & tail -f tunnel.log error Error creating dbus session. This command uses systemd for managing services, you should check that systemd is installed and under your user. ★ どうしてもこのエラーを解消して、serviceとして使いたい方:外部資料
  12. 41 3.3 WSL内に接続 • リモートで接続:VS Code Tunnel + WSL 以下のように、WSLがインストールされた

    Windows PCとVS Code Tunnelで接続すること により、リモートデスクトップを使わなくても、リモートで WSLにアクセスできるようになります。
  13. 42 3. リモート開発:GCEとの連携 • 他の接続方式もありますが、気になる方は見てください: ◦ VS Code Server (特に理由がなければ、普通に

    Tunnelの方を使った方が良い ) ◦ Dev Container (Dockerが慣れてる人にお薦め ) ◦ GitHub Codespaces (CPUのみに対応しますが、同じ MS社のため相性が良い。無 料利用枠を超えると有料になります。) • 注意点として、一部のプラグインはサーバー側にインストールされる必要があります。 自動的 に設定しなかった場合、GCEで新しいインスタンスを作成して、初回のアクセス後に以下のよ うにプラグインをインストールしなければなりません。