VS Code公式のRemote-SSHは、リモートホスト上のフォルダーを開き、その環境でコマンドや対応する拡張機能を実行できる仕組みです。したがって、VS CodeでリモートMacに接続すれば、コード編集とターミナル作業は手元のWindowsやChromebookから進められます。ただし、XcodeやiOSシミュレーターの画面操作は、VNCまたはWebコンソールでMacのグラフィカルな画面を別に開く必要があります。
今週のおすすめ行動
今週は、まずPowerShellまたはターミナルからSSH接続を確認し、その後にVS Codeへ進んでください。最初からXcodeの操作まで試すのではなく、「ログイン、ファイル、コマンド、拡張機能、復旧、グラフィカル画面」の順に合格判定を行うと、問題の場所を切り分けやすくなります。
この手順は、WindowsやChromebookしか持っておらず、一時的にmacOS環境を使いたい学生向けです。SSHやリモート開発が初めての方、学校の共有パソコンと自宅の端末で同じ課題を続けたい方にも適しています。
最初に理解するべき実行場所
VS Codeの画面は手元のWindowsやChromebookに表示されますが、Remote-SSHで開いたプロジェクトのファイルとターミナルのコマンドは、基本的に接続先のMacで扱います。イメージとしては、手元の端末が「机」、リモートMacが「実験室」です。机から実験室のファイルを編集しているため、保存先を取り違えないことが重要です。
たとえば、Mac側のターミナルでPythonを実行すれば、処理に使われるPython環境もMac側です。手元のWindowsにインストールしたツールが、そのままMac側で使えるわけではありません。MicrosoftのRemote-SSH公式ドキュメントでも、接続先の環境でファイルを開き、コマンドや開発用の処理を実行する仕組みが説明されています。
Windows上のVS CodeからMacのコードを書くことはできますか。
できます。MicrosoftのRemote-SSH接続チュートリアルでは、接続先を選択してリモートのフォルダーを開く流れが案内されています。ただし、VS CodeはMacの画面そのものを表示する機能ではないため、Xcodeのボタン操作やシミュレーターの画面確認は別の接続方法が必要です。
接続情報とSSHの合格判定
接続前に、次の情報を用意します。
- リモートMacのホスト名またはIPアドレス
- SSHで使うユーザー名
- パスワードまたは秘密鍵
- 読み書きが許可されたプロジェクトのフォルダー
- 学校や自宅のネットワークからSSH接続できる条件
macOSでは「リモートログイン」を有効にすると、SSHによるログインやSFTPによるファイルアクセスを提供できます。Appleのリモートログインに関する公式ガイドでも、この機能と接続を許可するユーザーの設定が説明されています。
まず、VS Codeを開く前に手元の端末で接続を試します。WindowsではPowerShellを起動し、次のコマンドを入力します。
ssh ユーザー名@Macのホスト名
Chromebookでは、学校の管理設定によってターミナルやLinux環境が使えない場合があります。その場合は、管理者の許可を得るか、Webコンソールなど別の入口を確認してください。Windows側のOpenSSHについては、MicrosoftのOpenSSH公式概要で、標準的な接続の考え方を確認できます。
この確認の目的は、VS Codeの問題とアカウント・ネットワークの問題を分けることです。パスワード入力後にMac側のシェルが表示されれば、基礎的なSSH接続は通っています。接続できない場合は、VS Codeの拡張機能を再インストールする前に、ホスト名、ユーザー名、認証方法、学校ネットワークの制限を確認します。
初回接続でホストキーの確認が表示された場合は、接続先が正しいかを管理者や契約情報で照合してください。安全確認を無条件に無効化したり、知らない指紋を承認したりしないでください。
ファイルの保存先とターミナルを確認する
SSH接続ができたら、VS CodeでRemote-SSHの機能を使って接続先を選択し、Mac上のプロジェクトフォルダーを開きます。接続後はウィンドウの表示を確認し、ローカルのフォルダーを開いたまま作業していないかを見分けます。
Remote SSHで開いたプロジェクトは、どこに保存されますか。
リモート側で選択したMacのフォルダーに保存されます。手元のWindowsに自動で同じファイルが作られるわけではありません。ローカル側のファイルとMac側のファイルを交互に編集すると、古いコピーを提出する事故が起きやすいため、課題ごとに作業場所を一つに決めます。
最初の動作確認には、次のような低リスクの手順を使います。
- Mac側のプロジェクトフォルダーに
connection-check.txtを作成します。 - ファイルに
remote Macと入力して保存します。 - VS Codeのリモートターミナルで
pwdを実行します。 - 続けて
lsを実行し、作成したファイル名を確認します。 connection-check.txtを開き、入力内容が残っていることを確認します。
pwdは現在のフォルダーを確認するためのコマンド、lsはフォルダー内の項目を確認するためのコマンドです。意図しない場所が表示された場合は、そこで課題ファイルを作らず、正しいプロジェクトフォルダーを開き直します。確認が終わったら、不要なチェックファイルは削除して構いません。
拡張機能と授業課題の対応範囲
VS Codeの見た目を変えるテーマなどは手元の画面に関係します。一方、Pythonの解析、デバッグ、言語補完など、コードを実行する環境に依存する拡張機能は、リモート側へのインストールが必要になる場合があります。インストール先はVS Codeの表示で確認し、ローカル用とリモート用を混同しないでください。
VS Codeのリモート拡張機能に関する公式説明では、拡張機能をローカル側またはリモート側で動かす考え方が整理されています。すべての拡張機能が同じ場所で動くと決めつけず、各拡張機能の表示と動作を確認してください。
用途ごとの判断は次のようになります。
- Web制作:HTML、CSS、JavaScriptの編集と、Mac側の開発サーバーの起動はVS Codeで進めやすいです。
- Python練習:Mac側にPythonや必要なパッケージが準備されていれば、リモートターミナルから実行できます。
- Apple向け開発:ソースコードの編集はVS Codeでも可能ですが、Xcodeのプロジェクト操作、署名、iOSシミュレーターの画面確認は別途Macのグラフィカルな画面が必要です。
AppleのXcode公式ドキュメントでも、Xcodeからシミュレーターや実機へアプリを実行する流れが説明されています。したがって、VS CodeだけでXcodeの画面操作まで置き換えられると考えないでください。
接続の安定性は原因別に確認する
接続できない、または途中で動かなくなった場合は、次の順番で確認します。
-
SSH自体が失敗する場合
PowerShellやターミナルでSSHを再確認します。ホスト名、ユーザー名、秘密鍵、パスワード、ネットワーク制限を調べます。 -
SSHは通るがVS Codeが準備できない場合
Remote-SSHの出力ログを開き、接続先の認証後にどこで止まっているかを確認します。VS Codeはリモート側の処理環境を準備するため、権限やディスク容量などが影響することがあります。 -
拡張機能だけ動かない場合
拡張機能がローカルに入っているのか、リモート側に入っているのかを確認します。必要な拡張機能がMac側に対応しているかも、個別の公式情報で確認します。 -
学校のネットワークで接続できない場合
SSHの通信自体が制限されている可能性があります。学校の規則に反して回避策を試すのではなく、管理者に許可されたネットワークやWebコンソールを使います。
MicrosoftのRemote-SSH公式トラブルシューティングでは、出力ログの確認や接続要件を起点にした調査方法が案内されています。公式のRemote開発FAQも、接続条件やよくある問題を確認する資料になります。
ログを確認せずに権限変更やファイル削除を行うのは避けてください。原因が認証なのか、リモート側の準備なのか、拡張機能なのかによって、対処方法が変わるためです。
接続が切れたら、課題ファイルも消えてしまいますか。
短い切断だけで、すでにMac側へ保存したファイルが消えるとは限りません。ただし、未保存の編集内容、実行中のプログラム、起動中の開発サーバーは別々に確認が必要です。再接続後に同じフォルダーを開き、最後の保存内容とターミナルの状態を確認します。
初回開発の合格基準をチェックする
次の項目を一つずつ確認してください。すべてにチェックできれば、VS Codeを使った基本的なリモート開発環境として継続しやすくなります。
- [ ] 手元のPowerShellまたはターミナルからSSHログインできる
- [ ] VS CodeのウィンドウがリモートMacへ接続済みと表示される
- [ ] Mac側の正しいプロジェクトフォルダーを開ける
- [ ]
pwdで想定したMac側の作業場所を確認できる - [ ] 小さなテキストファイルを作成し、保存後に再び開ける
- [ ] VS Codeのリモートターミナルでバージョン確認や簡単な実行ができる
- [ ] 必要な拡張機能が正しい実行場所にインストールされている
- [ ] 切断後に再接続し、保存済みのファイルを確認できる
- [ ] XcodeやiOSシミュレーターが必要な課題では、Macの画面操作へ切り替えられる
- [ ] 課題を提出する前に、Mac側から安全にファイルを取り出せる
すべてに合格した場合は、コード編集とターミナルをVS Codeに任せ、Xcodeなどの画面操作だけをVNCまたはWebコンソールで行う二つの経路が現実的です。ファイルの持ち出しでは、Git、SFTP、許可されたダウンロード機能など、学校やサービスのルールに合う方法を選びます。
公用パソコンでは、パスワードや秘密鍵を保存しないでください。作業終了時にはVS Codeから切断し、ブラウザーやターミナルに残った認証情報も確認します。
どの環境を続けるかを決める
VS CodeによるRemote-SSHは、Mac側でコードを実行しながら、慣れた編集画面を手元に表示できる点が強みです。一方で、Xcodeの画面、iOSシミュレーター、macOSのシステム設定を使う課題では、SSHだけでは完結しません。
Windowsのローカル環境だけで続ける場合、macOS専用ツールを使えないこと、学校のパソコンではソフトを追加できないこと、ローカルとMacのファイルが分かれてしまうことが負担になります。ブラウザーだけの開発環境も、SSH設定や拡張機能の自由度、長時間の作業状態に制約が出る場合があります。
そのため、まずSSHとVS Codeの接続を小さな課題で検証し、Xcodeやシミュレーターが必要になった段階で、完全なMac環境を追加する判断が無駄の少ない進め方です。JexMacのようなMacレンタルを使う場合も、契約前にSSH、VNCまたはWebコンソール、権限、ファイルの取り出し方法が課題に合うか確認してください。接続方法を確認したい場合は、JexMacのヘルプページを参照できます。
短期間の授業や動作確認なら、Windowsだけで不足するmacOS環境を必要な期間だけ補えるため、実機をすぐ購入するより判断しやすいことがあります。継続的に重い処理を行う場合や、物理的なiPhone接続が必須の場合は、レンタルだけで完結するとは限らないため、必要な作業を先に洗い出してください。
現在のWindows中心の方法には、macOS専用ツールを使えないこと、学校の共有パソコンへ開発環境を追加しにくいこと、ローカルとMacのファイルを分けて管理する負担があります。これらが課題の途中で問題になるなら、JexMacのMacレンタルで完全なMac環境を一時的に用意し、まず接続から提出までを一つの課題で確認する方法が現実的です。料金や利用期間を比較する際は、JexMacの料金案内で条件を確認してください。
VS Codeはコードとターミナル、VNCまたはWebコンソールはXcodeやシミュレーターという分担にすると、初心者でも作業場所を整理できます。SSH接続の合格判定を終えてからMac環境を追加すれば、必要な機能と不要な費用を区別しやすくなります。
JexMacで、どこからでもMac開発を始めましょう
手元のパソコンからSSHやブラウザ接続で、専用のMac mini M4を快適に操作できます。