CLOSE

使い倒そうVisual Studio Code!(全1記事)

Visual Studio Codeを使い倒す––リモートデバッグからローカルサーバーのシェアまで 

2018年9月5日、第70回となる「HTML5とか勉強会」が開催されました。今回のテーマは「開発環境」。 Webフロントエンドの開発環境をテーマに、エディタプラクティスやServiceWorkerを開発ツールとして使うアプローチ、長期運用されたサービスのリニューアル方針など、登壇者たちがその知見を語ります。プレゼンテーション「使い倒そうVisual Studio Code! 」に登場したのは、sakkuru氏とyoshikawa_t氏。リモートでデモを行い、Visual Studio Codeの真価を解説しました。講演資料はこちら

Visual Studio Codeを使い倒そう

yoshikawa_t氏:みなさん、こんばんは。今日の登壇はsakkuruがやることになってたんですけど、急遽リモートでやることになりました(笑)。

事前の打ち合わせを30分前にしたくらいなので、いろいろとグダグダするかもしれないですけど(笑)。そのへんご了承ください。じゃあsakkuru、よろしくお願いします。

sakkuru氏:はい。今日はyoshikawaさんと協力して「Visual Studio Live Share」のご紹介をしたいと思います。

まず始めに簡単な自己紹介なんですが、私、sakkuruと申します。

Microsoftでソフトウェアエンジニアをしていて、今はIoTの開発とかの技術支援をメインでやっています。

今日は「Visual Studio Live Share」という機能がVisual Studio CodeとVisual Studioに乗りましたので、もしかしたら使っている方もいるかもしれないんですが、その紹介をリモートでさせていただきたいと思います。

Visual Studio Codeの実演

では、さっそくデモに入っていきたいと思います。今、ターミナル映ってますかね。非常にシンプルなExpressのプロジェクトを作ったので、さっそくVisual Studio Codeを起動します。

今、Visual Studio Codeが起動しました。ここからyoshikawaさんといろいろ協力してやっていくんですけれども、まずサーバーを起動してみましょう。下にある統合ターミナルから「npm start」と打つと、私のローカルマシンでサーバーが起動するので、ローカルホストの3000番にアクセスすると、Expressのプロジェクトのトップ画面が見えるようになっています。

ではここから、yoshikawaさんにリモートでデバッグをお願いしたいと思います。今私のVisual Studio Codeの下のほうに「Share」というボタンがあるんですけど、こちらをクリックするとリモートでデバッグするためのリンクが生成されますので。こちらをyoshikawaさんに送りたいと思います。今はappear.inを使っているので、こちらのチャットで送ります。

じゃあyoshikawaさん、お願いします。

yoshikawa_t:はーい。これをダブルクリックして、「Chromeで開く」して、そうすると上に「Live Share for VS Code.appを開きますか?」。で、これで開くと。

そうするとVisual Studio Codeが立ち上がりまして、さっきsakkuruが見てたプロジェクトのフォルダがそのまま見えて、という感じになります。

sakkuru:はい。では、なにかファイルをyoshikawaさんのほうで更新していただきたいと思います。

yoshikawa_t:はい。じゃあrootsの下の、indexでいいです。

sakkuru:はい。

yoshikawa_t:このtitleを変更します。……はい、変更して保存しました。

sakkuru:今私のほうでも、rootsのindex.jsのほうを見ていて。yoshikawaさんのキーカーソルの位置とかも見えていて、「HTML5とか勉強会」というtitleに変わっているところも見えています。yoshikawaさんのほうでもう保存をしてもらってるので、私のほうでもう1回サーバーを再起動すると……。

このExpressのページをリロードします。そうすると、yoshikawaさんのほうで変更したものが、私のほうでも反映されているということがわかります。このように、リモートで入った人全員がファイルを更新することができます。

リモートでデバッグも可能

また、デバッグなどもリモートからいろいろできるようになっていまして、例えばapp.jsというのがあるんですけれども、こちらyoshikawaさんのほうでブレイクポイントを張ってもらってもいいですか?

yoshikawa_t:はーい。app.jsの中身を見て、適当にポチポチと。ブレイクポイントを貼ります。で、今ブレイクポイントを張り終わりました。

sakkuru:はい。ありがとうございます。私のほうでもyoshikawaさんが押したブレイクポイントが見えるようになっています。では私のほうで、デバッガーを起動しますね。デバッガーのメニューに行って、デバッガーを起動します。

今回Nodeのプログラムなので、Nodeを選択します。そうすると、yoshikawaさんのほう、どうなってますかね。yoshikawaさんのほうでも、変数の中身とかが見えるようになっているかと思います。

yoshikawa_t:はい。今ここで、app.useで止まってるのが見えると思います。ここらへんですね。ここで下のほうにデバッガーのメッセージとかブレイクポイントの変数だとか、見えてるっていう感じですね。

ここでステップ実行とかを押すと、こっちでブレイクポイントを進めることもできるという感じみたいです。

sakkuru:はい。私のほうでも進めたステップの情報が、全部見えるようになっています。こんな感じで、2人でリモートでデバッグなどを行うこともできます。では1回このデバッグ、止めますね。

ほかにもできることがあって。先ほど私のほうで「npm start」とかターミナルを触ったかと思うんですけれども、これ私のほうだけじゃなくて、yoshikawaさんのほうでもいろいろ触らせたい、yoshikawaさんのほうでもいろいろコマンド打ちたい、という場合は……このLive Shareのメニューの中に「Share Terminal」という機能がありますので。こちらをクリックすると、yoshikawaさんのほうで私のこのbashの画面が触れるようになります。

時間がないのでこちらのほうは割愛しますが、こうすることでターミナルを乗っ取らせることができます。

「Share Server」でローカルサーバーをシェア

sakkuru:では最後に、今私のローカルで動いているこのExpressのサーバー、yoshikawaさんのほうではアクセスできないですよね。ローカルホストの3000番、ちょっとyoshikawaさんのほうでアクセスしていただいてもいいですか?

yoshikawa_t:はーい。今ローカルホスト3000番、アクセスしても、「このサイトにアクセスできません」と出ます。

sakkuru:このExpressのサーバーというのは、私のこのマシンで、ローカルで動いているので、もちろんyoshikawaさんはアクセスできないんですけれども。リモートの人にも、この結果とかサーバーのアプリとか見えるようにしたいですよね。

そういう場合は、このLive Shareの機能の中に「Share Server」という機能がありますので、こちらをクリックします。そして今回、3000番をexposeしたいので、「3000」と入れて……そうするとですね、今もうyoshikawaさんのほうで、私のローカルで動いている3000番のサーバーにアクセスできるようになっています。では、yoshikawaさんお願いします。

yoshikawa_t:はい。ではここで改めてアクセスすると、こんな感じに見えてるという感じですね。

sakkuru:はい。という感じで、いろいろデバッグですとか、ターミナルのシェアですとか、ローカルサーバーのシェアですとか、そういったこともできるようになっていまして。Live Shareってコードのシェアだけかと思われるかもしれないんですけど、けっこういろんなことがリモートでできるようになっています。

まずLive Shareを使うためには、Live Shareの拡張を両方にインストールする必要があります。

そうすると下のほうに「Share」というメニューが出てきますので、ここからシェア用のリンクを生成して、例えば今みたいなチャットですとか、Slackみたいなものでリンクを共有します。

そうするとデバッグセッションもターミナルもローカルサーバーも、すべてシェアできるようになっています。

このようにこのVisual Studio Live Shareは、なんでもシェアできるようになっていますので。みなさんが家で仕事をする、会社で仕事をする、海外で仕事をする。そんなときにも開発ができるようになっています。ですのでぜひ、みなさんこちらのほうをご利用いただければと思います。

ということで私のセッションは終わりたいと思います。ありがとうございました。yoshikawaさんもありがとうございました。

yoshikawa_t:ありがとうございました。

(会場拍手)

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

関連タグ:

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 1年足らずでエンジニアの生産性が10%改善した、AIツールの全社導入 27年間右肩上がりのサイバーエージェントが成長し続ける秘訣

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!