MacBook AIr」カテゴリーアーカイブ

Visual Studio Code (Mac, Linux)

Linux で Windows アプリを使おうとする人が理解できない。
郷に入れば郷に従え、せっかく海外に留学したのに日本語しか話さないようなものだ。

なので筆者の愛用テキストエディタは Linux では Gedit。
Mac では Mac ユーザーに人気の高い Atom を。

だったけど Atom に色々不満が。
なんたって今では標準プラグインをこうしているし。

atom_setting

補完機能は全て無効、だって中途半端で邪魔なだけなんだもん。
自動補完は Visual Studio レベルでないとイライラするだけ。
これじゃ単なる色分けできるテキストエディタだ。

再起動で前回開いていたファイルを開き直しするのがウザい。
スマートフォンだとありがたいこの動作がパソコンではイライラ。

Alt(option)+上下矢印キーで行の入れ替えができないとか。
ドラッグアンドドロップ編集ができないとか。

筆者的には拡張子が無いファイルを見分けてくれないのが地味に痛い。
それをなんとかする modeline プラグインを入れたが効果無し。
Fedora で多用していた emacs 形式 modeline のプラグインも見当たらない。
自分で作れって?他の不満がこんなに多いのに嫌だよ。

そんなこんなで、今回は Visual Studio Code を試す。
こんな名前だ、どのくらい本家 Visual Studio のレベルなんだろう?

レビューを探すと仕事でバリバリ使っている凄い人ばかり…
以下はサンデープログラマーのレビューということで。

まず、JavaScript の保管機能は文句のつけようが無い。

array

配列の後にドットを打つと配列のメソッドのみが候補窓に現れる。
選択状態になった時点で return(Enter) で確定。
括弧を打つとパラメーターの解説窓が出る。

括弧関連の自動保管が神がかっている。
自動保管なのに勢いで閉じ括弧をタイプしてしまう場合が多々ある。
すると何事もなかったように保管された閉じ括弧の後ろにカーソルが移動する。
ブレースの後に改行すると当然のようにインデント。

Visual Studio C# での鬼補正や全自動整形はさすがにできない。
しかし Visual Studio C++ と同じレベル、いやもっと凄いかも。

さすが Visual Studio という名前にしただけはある。
これなら補完機能を無効にするほうが馬鹿だと断言できる。

コードスニペットも使えます。
for とか forin とか打ち込んで tab キーを叩いてみてください。

文字列を選択状態にしなくても shift+tab でインデント戻し。
option(Alt)+上下矢印キーで行の入れ替え。
よしよしできる。

文字列を選択状態にしなくても command(Ctrl)+C でカーソル行のコピー。
Visual Studio 以外で見たことがないこの機能もまさか使えるとは。

何故か初期状態では C# 関連は無効になっている。
extension で入れられるみたい、筆者はいらないけど。
Mac で Unity プログラマーも多いだろうけど Unity 関連の保管は無いかと。

さて肝心の modeline は emacs 形式も使えるものが extensions にあった。
あれ、tab 関連は普通に指定できるけど Mode: がスルーされるんですけど。
ソースコードを覗いてみよう、~/.vscode 以下にあるよ。

modeline

editor.language なんて設定は無いよ!
README.md に書いてあったけど現在は不可能らしい、気長に待つか。

褒めてばかりでなく欠点もいくつか。

この文書みたいなのの下書きに使うと保管でウザすぎるwww
ドラッグアンドドロップ編集はできない、残念。
OLE DnD も、筆者はよく使うのになぁ。
TextEdit.app で文字列選択して Safari のアドレスバーにドロップして検索とかで。

結論、Atom ヤメてしばらくコイツを使ってみる。

Fedora にも入れた、ただ Makefile も install.sh も無かった。
~/app に全部放り込んで ~/bin に vscode というファイル名で。
パスは変えてね。

#!/bin/sh

/home/sasakima-nao/app/VSCode-linux-x64/code $@

vscode.desktop を ~/.local/share/applications に。

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=vscode %U
Name=Visual Studio Code
Comment=Visual Studio Code
Icon=/home/sasakima-nao/app/VSCode-linux-x64/resources/app/resources/linux/code.png
StartupNotify=true
Categories=Education;Languages;
MimeType=application/javascript;text/plain;

linux_vscode

最初に書いたことと矛盾しているようでしていない。
本家 Visual Studio がある Windows でコレ使う人いるの?

Mac Script (No Terminal.app)

Mac で AppleScript/JavaScript を端末起動無しで使う手段があった。

OSXのアプリケーションをJavaScriptで作る – Qiita

Mac には osacompile なんてスクリプトコンパイラがあったのか。
これで Mac でもスクリプトを使う時にターミナルを開かずに使えるぞ!

っっって、それじゃ意味無いジャン。

スクリプト言語はコンパイルせずにスパッと使えるのがメリットなんだから。
つかコンパイルするなら Swift とかで作ったほうが絶対に楽だし。

世の中にはそうしたい奇妙な人が結構いることは置いておいて。
特に IronPython でコンパイルしたい人の多さにドン引きDESU。

うーん、コンパイルせずにターミナルを開かない方法は…
あ、Automator という手があった。

Automatorで簡単にコマンド実行アプリを作る|MacFan

この程度ならシェルスクリプトのほうが圧倒的に簡単だと思うんですけど…
それはいいとして。

この手段で端末を開かずに bash 等のシェルが使えるようだ。
本当に上手くいくのかな?
JavaScript でウインドウを作って試してみよう。

いや、筆者はまだ Cocoa がよく解っていない。
なので上のリンク先にあるウインドウを作るスクリプトをコピペ。

app_create

と Bash から osascript にスクリプトのフルパスを与えて。
JavaScript でも -l オプションは必要無かったのね。
/Applications 内に保存して Finder から W クリックしてみる。

app_exec

よしスクリプトのまま端末起動無しで実行できた。
しっかり Dock にも表示される、アイコンは自前で入れればイケそう。

実行パーミッションを付ける必要もないしメンテも簡単そう。
シェルで起動しているだけだから Python でも何でもイケるな。
何より書き換えしてもコンパイルのやりなおしをする必要が無い。

いいことづくめに感じるけど、ただただ面倒臭い!
Linux と PyGObject コンビがドンダケ神がかっているか思い知るだけだった。

KeePassX v2

このサイトで使うパスワードは何だっけ?
って KeePassX があるじゃないか。

いやまあ筆者は必要になった時にしかアプリをインストールしない人なので。
そういえば Fedora 23 にしてから ffmpeg すら入れていないな。
最近動画をダウンロードなんて全然やらなくなったし(…

とにかく gnome-softwere から KeePassX で検索、って出てこねぇ!

sudo dnf install keepassx

コマンドで入れたらバージョン 2 になっていた。
まあとくに使い勝手は変わっていない、Ctrl+V で自動入力できる。

keepassx2

v1 のデータはインポートできるけど v1 形式にエクスポートは無い。
CSV にエクスポートできるのでその場合でも問題は無いと思うけど。

しかし面白いよね。
本家 KeePass2 は Linux でも動くと言っているのに v2 互換を作るって。
mono なんて Linux では誰も使っていないからね。
Downloads – KeePass

Mac KeePass で検索してもみんな KeePassX ばかり。
実際本家が v1 の公開を続けているのは v1 しか需要が無いってことだろう。
mono の遅さに耐えられるのってマジで Unity のゲームだけだよ。

その Unity なウチ姫は iPhone から削除したけど。
ランキング戦やマルチプレイなんてやりたくないのにそればかり。
ガードスキルの追加で過去のイベント産 SR を皆殺しって嫌がらせかよ。
まあそれはどうでもよくて。

KeePassX ? Downloads

Mac 版どころか Windows 版まであるっていったいどういうことだ。
互換なのに本家を殺しにきているのかな。
せっかくなので MacBook Air にも v2 を入れてみよう。

AppStore には本家はあるけど KeePassX は無い、Fedora と同じか。
Mac は普通にサイトからダウンロード、自分でインストール。

keepass2linux

keepass2mac

うん Qt はネイティブだからどちらでもサクツと起動できていいね。
Mac 版なのに閉じるボタンで終了するんだがコレは Qt の仕様なのか?

あれ、Mac 版って command+V の自動入力はできないのか。
v1 なら対応版があるみたいだけど現行 OSX バージョンで動くのかな?
まあいいか、持ち運び用途なんだから確認できれば筆者には充分。

ELECOM BM-IB016BK

MacBook Air 13inch を持ち歩く用のバッグが欲しい。

今まで汎用の緩衝材で包んでデイバッグや旅行鞄に入れていた。
それで充分な歩度でしか持ち歩かなかったけど変に機会が増えてきた。
さすがになんとかしたくなってきたということで。

希望は本体ギリギリの小さなサイズで取手付き。
ポケットがあって電源アダプタと WiMax ルーターを入れられる。
旅行鞄に入れる場合あり、緩衝材のかわりに鞄をそのまま代用できる。

いや、鞄in鞄の用途がメインで単体での持ち運びも可能という一石二鳥にしたい。
ということで見た目はどうでもよい、小さくてソフト素材でポケットと取手付き。
安ければいうことない。

で、試しにこんなのを買ったのでレビュー。
帯に[PCインナーバッグ]と書いてある、まさしくソレ用。
Mac 専用品は見た目はいいけど希望どおりのものが無いという…

実物の見た目は本当にショボい、電車でそのまま持ち歩きの人はヤメとけ。
車なら問題ないしサイズは自転車のカゴにスッポリ収まるレベル。
取手は意外に持ちやすい。

width-300x269

サイズは希望ピッタリ、書類をついでに入れる余裕が少しあり。
汎用ながら実は MacBook Air を基準に合わせているのかもしれない。
緩衝材もこれ以上あると厚ぼったいくらいある。

height-300x160

鞄in鞄には少し厚いかも、キズの心配は無いに等しいですけど。
スマホやデジカメを仕込める厚さはないな(マテ!

pocket-300x256

電源アダプタ断線の心配がなさそうなデカいポケット。
Mac は完全にマウス不要なのでコレ以上のポケット容量はいらない。

Amazon のレビューを見ると約千円の鞄に何を求める?の人もいる。
けれどだいたい筆者と同じ用途で購入しているみたいね。

取っ手が小さく余計なものがないインナー兼アウターなバッグ。
うん希望どおり、MacBook Air は持ち歩くと人気の理由が解る。
しかしこんなやっすい鞄をレビューしてどうする俺。

keyboard shortcuts

プログラミング気分ではないし Mac でも。
たまにしか使わないとキーボードショートカットを忘れる…
ええいソレなら

Mac OS と GNOME キーボード操作対応表 – L’Isola di Niente

ということでこんなページを作った。
多分もう仕事以外で Windows は使わないからページ整理のついでだが。

しかしこうしてみると本当に同じような進化をしているよね。
今後キーボードを使う OS はこんな感じに収束されるのだろう。