🦾

Apple M1 上の Intel ビルドな Visual Studio Code のターミナルを arm64 に変更する(一時的・デフォ)

2021/01/20に公開約1,900字1件のコメント

Summary

  • Intel ビルドな Visual Studio Code ではターミナルのアーキテクチャが arm64 ではない
  • % arch -arm64 zsh をして一時的にアーキテクチャを切り替える方法
  • Visual Studio Code のターミナルのデフォルトを変更する方法

Intel ビルドな Visual Studio Code のターミナルは i386

記事執筆時点で Visual Studio Code は Universal ビルド または Apple シリコンビルドになっていません。

Apple シリコンビルドとなっている Visual Studio Code - Insiders や同 Exploration のターミナルは

% arch
arm64

となりますが、Intel ビルドな Visual Studio Code では

% arch
i386

となってしまいます。

一時的にアーキテクチャを変更する

arch コマンドの -arch オプションでアーキテクチャを変更することができます。

arm64 な Zsh にするには

% arch -arm64 zsh
% arch
arm64

もとの Zsh に戻すには

% arch -x86_64 zsh
% arch
i386

Visual Studio Code のターミナルのデフォルトを変更する

Visual Studio Code 設定の「Terminal › Integrated › Shell: Osx」から「settings.json で編集」に進みます。

/bin/zsh などとなっている terminal.integrated.shell.osx の値を /usr/bin/arch に変更します。

続いて、Visual Studio Code 設定の「Terminal › Integrated › Shell Args: Osx」を次のように編集します。

  • Terminal › Integrated › Shell Args: Osx
    • -arm64
    • zsh

以上の設定で、Visual Studio Code のターミナルを開くと /usr/bin/arch -arm64 zsh が実行され、ARM アーキテクチャの Zsh を使うことができます。もちろん、「Shell Args: Osx」の zshbash にすると ARM アーキテクチャの Bash を使うことができます。

右半分が設定変更後に新しく開いたターミナル

記事執筆のきっかけとなったツイート・スレッド

https://twitter.com/treastrain/status/1351949974037098502
https://twitter.com/CreatorQsF/status/1351955246440824833

Discussion

もしも、万が一、何らかの理由で、Intelビルドでarm64 integrated terminalを動かしたい場合は今の最新のVSCodeの場合は profiles を使うことを推奨されているため以下のような設定になります。

どこかの誰かのご参考になれば幸いです。

  "terminal.integrated.profiles.osx": {
    "m1": {
      "path": "/usr/bin/arch",
      "args": ["-arm64", "zsh"]
    }
  },
  "terminal.integrated.defaultProfile.osx": "m1"
ログインするとコメントできます