contentSublimeText3をPowershellスクリプトと組み合わせてなんでも一発コンパイルできるようにした(い)SublimeTextPowerShellSublimeText3はじめにはじめまして、麻菜結(あさなゆい)と申します。私はSublimeTextが好きです。日本人にとって若干取りつきにくいと思われる(日本語文献が他の主要エディタに比べ少ない、shift-jisへの対応など)仕様も手がかかる子供のように好きです。皆さんも可愛い子供のようにこのエディタを育ててみましょう。概要SublimeのBuildSystemからPowershellスクリプトを呼び出し、そこにコンパイルしたいファイルのフルパスを渡す。渡されたパスからファイルネームと拡張子を取り出し、拡張子を条件としてコンパイルを選ぶ。コンパイルに成功した場合はコンパイルを完了した旨を、失敗した場合はエラーメッセージを表示する。"cp65001"}これを見てもらえばわかると思いますが、cmdからPowershellを呼び出す形になります。明示していますが、適宜削ってください。"cp932"の方が文字化けしないかもしれません。後述のjavaの場合でもこうすれば文字化けにはなりませんでした。(2019/10/17追記)PSスクリプトのテンプレート以下のテンプレートの条件文の部分を編集して使用してください。CompileAllLang.ps1#引数(ファイルのフルパス)を受け取り、そこから拡張子($ext)とファイル名($file)を取り出しています。$one)すると便利かもしれません。[System.IO.Path]::GetFileNameWithoutExtension($one)#下の条件文から呼び出され、コンパイル成功時には引数の$msgを表示します。#成功したときのメッセージを指定する。"C:\\{あなたがPSスクリプトを置いている場所}\\CompileAllLang.ps1"}具体例C言語のようにコンパイル→実行のような流れの言語はこの方法に違和感なく適合します。./${file}")}これはkotlinの例です。${file}.jar")}コンパイルの必要ない言語の場合は、実行オプションを確認しましょう。compileallというオプションを使って実行せずコンパイルのみを行います。いう拡張子のファイルを生成します。この例では削除していますが、気にならない場合は削除する必要はありません。対してなら直接実行することができます。これはWindowsに付属しているC#コンパイラです。上のC言語のようにできれば幸運ですが、同じ症状の方は下のように書いてみるのを試してみてください詳細な説明は省きますが、cmdの/cオプションで引数をコマンドとして実行しています。-J-Duser.language=enでコンパイルメッセージを英語にします。このオプションがPowershell上だとエラーがでたのでcmdでコンパイルしています。javacの-Jオプションを実行する方法募集中。節を削除するか、以下のように拡張子を明示してエスケープしてください。"このファイルはコンパイルしません"}おわりにここまで記事を読んでくださってありがとうございます。記事なので読みずらい部分があったら申し訳ありません。賢い皆様ならお気づきかもしれませんが、これはぶっちゃけSublimeText3じゃなくても使える汎用スクリプトです。要はエディターショートカットからPowershellスクリプトを呼び出してそこにファイルのフルパスを渡せる機能があるならなんでも使えるはずです。Sublimeへの愛が足りない?いやいや道具は使いやすく加工するものです。お困りのあなたにこの情報が共有されることを願ってこの辺で筆をおきます。次回は何をしようかな。