[M1 mac] VSCodeをcodeコマンドで開きたい
はじめに
M1macでVSCodeを利用しています。今までローカルのフォルダをワークスペースに追加するにはGUIでポチポチしていたのですが、code
コマンドを利用してスムーズに同様の動作ができることを知ったのでこれを使えるようにしていきます。
VSCodeから設定してみる
Shift + Cmd + P
で"Shell"と入力して"Install code
command in PATH"を選択します。
本来はこれだけでcode
コマンドが使えるようになるはずですが、私の環境では以下エラーが出ました。
% code
/usr/local/bin/code: line 6: python: command not found
/usr/local/bin/code: line 10: ./MacOS/Electron: No such file or directory
python
コマンドが使えないと怒られています。
実際には端末にPythonは入っていますが、ただインストールしただけだとpython
ではなくpython3
としないと起動しません。
% python
zsh: command not found: python
% python3
Python 3.10.6 (main, Aug 30 2022, 04:58:14) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
/usr/local/bin/code
からはpython
で実行するため、Pythonが起動できずに失敗しているようです。なので、このpython3
をpython
で起動できるようにしていきます。
Python3にシンボリックリンクをはる
まずはPythonがどこにいるか確認します。
% which python3
/opt/homebrew/bin/python3
% ls -la /opt/homebrew/bin/python3
lrwxr-xr-x 1 hoge admin 42 Sep 26 22:43 /opt/homebrew/bin/python3 -> ../Cellar/python@3.10/3.10.6_2/bin/python3
Homebrewでインストールしたので/opt/homebrew/bin/python3
が実行されており、その実体は../Cellar/python@3.10/3.10.6_2/bin/python3
にいるようです。
なので以下のようにシンボリックリンクを作成します。第1引数はリンク先(実体)、第2引数はリンク元です。私はPATHの通っている/usr/local/bin
を指定しました。
% ln -s ../Cellar/python@3.10/3.10.6_2/bin/python3 /usr/local/bin/python
"Permission denied"と言われたのでsudo
をつけて実行。これで解決!と思いきやこれでもcode
コマンドが効きません。というかpython
も"command not found"と言われてしまう。。。
しばらく悩んで"../Cellar/python@3.10/3.10.6_2/bin/python3"が相対パスだったことに気づきました。そりゃ動きませんわ。
間違えて作成してしまったリンクを消して、新しく絶対パスで指定し直します。
% unlink /usr/local/bin/python
% ln -s /opt/homebrew/Cellar/python@3.10/3.10.6_2/bin/python3 /usr/local/bin/python
これでpython
コマンドが効くようになり、code
コマンドでVSCodeが開けるようになりました。めでたし。
% python
Python 3.10.6 (main, Aug 30 2022, 04:58:14) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Discussion