MATLABのエディタとしてSublimeを設定

2616 ワード

最近MATLABを使用していると、独自のエディタがあまり使いにくいことに気づきました.特に、異なるプラットフォームの切り替え時に符号化エラーが発生します.例えばMATLAB R 2014 aは、UbuntuプラットフォームではUTF-8符号化を採用しているが、WindowsプラットフォームではGBK符号化を採用している.これにより、異なるプラットフォームの切り替え時に文字化けしが発生します.MATLABが持っているエディタでもある程度はこの問題を解決できますが、Sublimeがないと便利です.そこで、MATLABのエディタとしてSublimeを使う予定です.ネット検索と自己模索を経て、最終的にSublime編集とMATLABコマンドライン(terminal)実行の開発環境構築を実現した.

前期準備

  • MATLAB R 2014 a(WindowsまたはLinuxプラットフォーム、ここではWin 10およびUbuntu 16.04を例に挙げる).インストール手順については、ここでは説明しません.
  • Sublime Text 3

  • 構成プロセス


    1.新規ビルドシステム


    SublimeでTools -> Build System -> New Build Systemを選択すると、JSONファイルが作成され、システムによって以下の内容が入力されます.
    Win10
    {
        "cmd": ["E:/Softwares/MATLAB/R2014a/bin/matlab.exe", "-nodesktop", "-nosplash", "-r", "\"run('$file')\""],
        "selector": "source.m",
        "working_dir": "${project_path:${folder}}"
    }
    

    Ubuntu 16.04
    {
        "cmd": ["gnome-terminal -x bash -c \"matlab -nosplash -nodesktop -r ${file_base_name}; exec bash\""],
        "selector":"source.m",
        "shell":"true",
        "working_dir": "$file_path"
    }
    
    cmdの対応するインストールパスに注意してください.ここで与えられたパスは私のパソコンの構成です.ここで、matlab -nosplash -nodesktop -r ${file_base_name}はMATLABを起動する、いずれかを実行することを示す.mファイル.-nosplashは起動インタフェースをロードしないことを示す.-nodesktopは、GUIインタフェースをロードしないことを示す.-rは、MATLABコマンドライン(MATLAB_command)を実行することを示す.file_base_nameはファイル名を表すが、ファイル拡張子を含まない.m等.
    【注】このステップでは、Ubuntuの構成とネット上のいくつかのチュートリアルが異なり、ネット上のチュートリアルの多くはgnome-terminalコマンドがありません.ここではMATLABをコマンドラインで起動したいと思います.実際には、SublimeのBuild Resultsにはインタラクティブな機能がなく、実行結果しか表示されないことがわかりました.Win 10ではBuild時にMATLABコマンドラインプログラムを自動的に開いてインタラクションできるが、Ubuntuではコマンドラインを開いていないので、インタラクション用に起動端末(terminal)に関するコマンドを前に追加した.

    2.新規ビルドシステムの保存


    このJSONファイルをデフォルトディレクトリに名前を付けて保存します(このJSONファイルの名前は新しいBuild Systemの名前となり、Buildメニューに表示されます)

    3.SublimeでMATLAB_を起動するcommandコンパイル


    設定が完了しました.このとき任意に1つ編集する.mファイルは、Build Systemの下で新規作成した構成を選択し、Tools -> Buildをクリックするか、ショートカットボタンCtrl+Bを使用すると、SublimeがMATLAB_を開きます.commandは、現在のファイルをコンパイルします.注意すべきは、Buildのたびに新しいコマンドラインインタフェースが生成され、MATLAB_が毎回再起動されることに相当する.command、時間がかかります.だからMATLAB_でcommandが起動すると、プログラムを変更するたびにSublimeに保存し、既存のコンソールウィンドウにスクリプト名を入力してコンパイルします.

    参考資料


    1.Sublime Text 2でmatlab 2を実行する.Show C build results in Linux terminal with Sublime Text 3