メインコンテンツへスキップ

対策

対策1

mplab_ide.conf の default_options にフラグ追加・修正(要 sudo権限)します。

対象ファイル

  /Applications/microchip/mplabx/v6.30/MPLAB X IDE v6.30.app/Contents/Resources/mplab_ide/etc/mplab_ide.conf

変更内容
(a) 先頭に追加 -J-Dapple.laf.useScreenMenuBar=false ← 主因対策
(b) 既存値を変更 -J-Dplugin.manager.check.interval=EVERY_STARTUP

→ -J-Dplugin.manager.check.interval=NEVER ← 更新待ち解消
 各変更点の意味
  • (a) apple.laf.useScreenMenuBar
    - macOS 特有の「画面上部のシステムメニューバー」に Java アプリのメニューを載せる連携機能の ON/OFF を決めるフラグです。true だとメニューが画面最上部に表示されます。
    - 既定は有効(true)。だが Java 8 + macOS Tahoe 25 ではこのスクリーンメニュー バー構築が非常に重く、起動時に UI スレッド(EDT)が約8.4秒ブロックしてレインボール化していました(ログの "Too long AWTTask ... Menu/File" が該当)。
    - false にすると、メニューを各ウィンドウ内に描画する方式へ切り替わり、この 重い処理を回避できる。今回のビーチボールの主因に対する直接的な対策です。
    - 副作用: メニューバーが画面最上部ではなく MPLAB X のウィンドウ内に表示される事になります(Windowsのようにな)。ようになります(機能上の支障はなく、見た目・操作位置が変わるだけ)。
  • (b) plugin.manager.check.interval
    - MPLAB X(NetBeans 基盤)がプラグイン/更新の有無を Microchip サーバへ確認する「頻度」を決める設定です。
    - 変更前 EVERY_STARTUP = 起動するたびに毎回オンラインで更新チェックを実行します。オフラインや回線が遅いと、ここでサーバ応答を待たされ起動が固まる一因になっていました(ログの UnknownHostException: ww1.microchip.com 等が該当)。
    - 変更後 NEVER = 起動時の自動更新チェックを実施しなくなります。これによりネットワーク待ちによる起動遅延・ハングを回避します。
    - 副作用: 更新が自動通知されなくなります。アップデート確認は必要時に手動でTools(ツール) > Plugins(プラグイン) から実行する事になります。