2013年6月7日金曜日

Visual Studio Express 2012 で coffee を外部ツール登録

状況

Microsoft の Visual Studio 2012 for Web の無償版(Express版)はファイル追加メニューから一応 CoffeeScript ファイルを作ることができる。ただし、

  1. CoffeeScript に関してはインテリセンス、構文色分け、コンパイル機能がない
  2. 上位の有償版 Visual Studio にはこのためのアドオンがあるが、Express版で使えない
  3. Express版でも使える NuGetのパッケージ JurassicCoffee は自動コンパイル機能を持つが、エラー表示がされない(CoffeeScript 1.6.3)

対応

コンパイラを呼び出すコマンドを外部ツール登録する。

準備

(手順省略)
Windows 版の npm のインストール
CoffeeScript のインストール

外部ツール登録

「ツール>外部ツール(E)...」から。

タイトル:

Compile Coffee 等、適当に。

コマンド:

coffee.cmd のフルパス。例えば Windows 7 でのデフォルトは
ユーザーディレクトリの App Data\Roaming\npm\
パスを通している場合は、コマンドプロンプトで
where coffee
と入力して場所が調べられる。

引数:

-cbwm $(ItemPath)
ここで

  • オプションの c はコンパイル命令。必須
  • b はコード内の関数全体をブロックで囲わないオプション。任意
  • w はウォッチモード。コマンドは終了せず、ファイルの更新を検知して自動コンパイルする。任意だが便利
  • m はソースマップ生成。Chrome でデバッグが便利になる。任意

初期ディレクトリ:

$(ItemDir)

出力ウィンドウを使用:

Visual Studio 内の出力ウィンドウに結果表示。オフにすると替わりに DOS窓が開く。

ショートカットキーの割り当て

ツール>オプション>環境>キーボード
「以下の文字列を含むコマンドを表示」に「ツール.外部」を入力して絞り込む。
デフォルトではショートカットの割り当てがないので、例えば「Ctrl+Num -」あたりに設定。

外部ツールの呼び出し

CoffeeScript ファイルを編集中に、設定したショートカットキーかメニュー(ツール>外部ツール)を使って呼び出す。コンパイルが成功すれば出力ウィンドウに
(時間)compiled: (ファイルパス)
と表示され、失敗すればエラー内容が表示される。
一度呼び出すとウォッチモードに入るので、以降はファイルの保存時に自動コンパイルされる。

問題点

coffee をウォッチモードで複数実行すると、Visual Studio 終了後も「node.exe」プロセスが残る。問題になるようならタスクマネージャーから終了させる。

2013年5月7日火曜日

vim-coffee-scriptがエラーを表示してくれない問題

【症状】

保存時に自動コンパイルする設定にしていた vim-coffee-script が、いつの頃からかエラーを教えてくれなくなった。
コンパイルは行われており、エラーのないときは正常に JavaScript ファイルが作られている。

【原因】

CoffeeScript 1.6 でエラーメッセージの書式が変わったため。vim-coffee-script は未対応。

【対応】

yourcelf 氏の修正版でいまのところ正常動作している。
変更は compiler/coffee.vim 内の 1行(+記号の行)のみなので、自分で修正しても大丈夫。

2012年3月4日日曜日

Macの起動音を小さくする

【症状】
いつのまにか起動音(ジョワーン)が最大になっていてのけぞる。
【原因】
内蔵スピーカーの音量=起動音の音量になっている。ヘッドフォンをMacに直接繋いだ場合に、内蔵スピーカーの音量を上げ、その後下げることを忘れがち。
【対応】
サウンドコントロールパネルで内蔵スピーカーの音量を小さくする。
オーディオインターフェイスを使っている場合も、内蔵スピーカーの音量が起動音の音量。
【環境】
Mac OS X 10.7.2

2012年1月27日金曜日

Logicのグローバルトラックのトランスポーズを消去する

300年ほど悩み続けていた。やっと解決できたのでメモ。

【症状】
次のような症状が出て、小節の追加や移動がわずらわしくなる。

  • MIDIリージョンをコピーペーストすると音程が狂う
  • 書いた覚えのない折れ線グラフがグローバルトラックの「トランスポーズ」に書かれている
  • 「トランスポーズ」の値を削除するとMIDIリージョンの音程が狂う


【原因】
コード分析を行ったため。
コード分析を行うと、グローバルトラックの「トランスポーズ」がつじつまが合うように加減される。経過音などが多いリージョンを対象にするとトランスポーズがえらいことになる。これはループファイルを便利に使うためのものだが、MIDI編集時にデメリットが出てくる。
ユーザーマニュアルには解法がない。

【解決策】
曲の長さ分のダミーのMIDIリージョンを作り、再度コード分析を行えばリセットできる。
詳細:

  1. グローバルトラックの「調号/拍子記号」を見て、設定されているキーを調べる
  2. トラックメニューから「新規」→「ソフトウェア音源」を選ぶ。MIDIトラックが追加される
  3. トラック上で右クリックし、「空のMIDIリージョンを追加」を選ぶ
  4. ピアノロールかスコアを開き、キー値の全音符を置く。キーがCならCの全音符。リージョンの右肩をドラッグして必要なだけ伸ばす†
  5. グローバルトラックの「コード」を開く。デフォルトでは隠れているので、右クリックのメニューでチェックして表示する
  6. キー値を置いたMIDIリージョンを選択した状態で、「コード」の「分析」ボタンを押す。分析の結果、コードはすべてトニック(キーがCならC)になり、グローバルトラックの「トランスポーズ」は0を通る水平線になる

†伸ばしすぎると、うちの環境だと処理例外が出て終了してしまった。16小節ごとにわけて分析させるとうまくいった

[再現環境]
Mac OS X 10.7.2
Logic Pro 9.1.6

2011年8月10日水曜日

LionのTerminalタイトルバーにProxy Iconを表示する

【症状】
しょの1
OS X Lionの新機能を紹介するページを見ると、Terminalのタイトルバーにアイコンがつき、アイコンドラッグでパスを渡せると宣伝されている。なのに、うちので試すとアイコンがない
しょの2
環境設定の「起動」でウィンドウやタブを「同じ作業ディレクトリ」で開く設定にしたのに、開かれない

【原因】
タイトルに作業ディレクトリ(カレントディレクトリ)を表示させていないと、アイコンは表示されず、作業ディレクトリのコピーも行えない仕様。

【対応】
タイトルに作業ディレクトリを表示させる。
~/.bash_profileに次の行を足す。
case $TERM in
  xterm*)
    PS1="\[\e]0;\u@\h: \w\a\]bash\$ "
    ;;
  *)
    PS1="bash\$ "
    ;;
esac

【効能】
・タイトルバーにアイコンが出現。右クリックで階層をたどると、Finderの同フォルダが開く("open ."コマンドと同じ)
・タブバー表示状態で
アイコンをタブバーの既存タブにドラッグ&ドロップすると、そこにcdする
アイコンをタブバーの空いた場所にドラッグ&ドロップすると、Terminalが開いてそこにcdする

【懸案事項】
・ターミナルを終了して開き直した時に列幅が2ずつ増えていく
・アイコンをつかんで動かしたつもりがウィンドウごと動いてしまうことがある
・手が震えているとアイコンが小さくてつかみにくい

【参考サイト】
"set the title of the terminal window to current directory" superuser
"Tune Terminal in OS X Lion" twam.info

2011年8月1日月曜日

Refeのバージョン自動切り替え

  refeは1.9系と1.8系でコマンドが違う。
 いま有効なバージョンのリファレンスが自動的に呼び出されると便利。

【準備】
rvmを使って、どのバージョンのrubyも"ruby"コマンドで実行できることが前提。
袋から取り出したrefeはよく洗い、設置ディレクトリをメモしておく。

【動作確認環境】
Mac OS X 10.7
Ruby 1.9.2 / 1.8.7 / MacRuby 0.10

【スクリプト】
こんな感じでどうでしょう。パスの通る場所に保存して実行権限付加(chmod +x)しておく。
#!/bin/bash
refedir=~/rubyrefm #directory refe exists
v=$(ruby --version)
m=${v#*ruby 1.9.2}
if [ "$m" != "$v" ]
then db="db-1_9_2"
else db="db-1_8_7"
fi
ruby -Ke -I $refedir/bitclust/lib $refedir/bitclust/bin/refe.rb -d $refedir/$db $*

【懸案事項】
・バージョンアップ時のスクリプト更新忘れ(あるある)
・MacRubyで使うと数秒固まる
・言うほど便利にはなっていない

2011年7月18日月曜日

IronPythonをVisualStudioで使う

【効能】
構文色分け、インテリセンス

【材料】
【作り方】
  1. 材料を水でよく洗う
  2. インストーラーの指示に従う
    ※ Visual Studio SP1のインストールを促されればそれも入れる
【カスタマイズ】
フォントの色やサイズ
  Visual Stidioのツールメニュー→オプション→環境→フォントおよび色
行番号の表示
  Visual Studioのツールメニュー→オプション→テキストエディター→Python→全般

【トラブル】
◆ Pythonを実行すると画面が10秒ぐらい固まる
  2011年7月時点でPython Toolsの既知不具合。最新版のコードでは修正済みなのでバイナリへの反映待ち。Python Toolsは現在ベータ版(2011年8月に1.0のリリース予定)