[VisualStudio]DoxygenCommentsをVS2015 Communityに入れる

Written by uechoco 1月 29
[VisualStudio]DoxygenCommentsをVS2015 Communityに入れる はコメントを受け付けていません。
この記事を読む時間:148くらい

ちょっと前にWindows機を購入して、Macに慣れすぎている身としては使いづらさがまだ勝っています。

さて、表題の通り、Visual Studio Community 2015を使っているんですが、doxygenコメントを挿入する無料のプラグインを探していたら
DoxygenCommentsというのがありました。

https://marketplace.visualstudio.com/items?itemName=OleksandrManenko.DoxygenComments

公式にマーケットプレイスで提供されているプラグインは2013までしか対応しておらず、
Community 2015にインストールしようとすると入りません。
ソースコードは公開されていてMIT Licenseのようなのでいじればなんとかなるかなと思ってアクセスしてみました。

https://bitbucket.org/manenko/doxygencomments/wiki/Home

コミットの履歴を見てみると、どうやら2015対応の準備はしていたらしい。

ということで、ローカルにcloneし、slnファイルを開いて、ビルドをしたら、vsixファイルが吐き出されました。
PROJ_ROOT\Enhanced\bin\Debug\Enhanced.vsix
試しにダブルクリックすると、インストールには成功している模様。

今はC++のコードを書くものがないので実際の挙動を試してないですが、
プロパティでフォントとカラーの設定一覧にDoxygen Comment関連のものがあるのは確認しています。

cocos2d-x 2.2.6のmac版がOS X El Capitanでクラッシュする

Written by uechoco 1月 16
cocos2d-x 2.2.6のmac版がOS X El Capitanでクラッシュする はコメントを受け付けていません。
この記事を読む時間:221くらい

MacBook AirをEl Capitanにアップデートしたら、cocos2d-x 2.2.6のproj.macがクラッシュするようになりました。

  • cocos2d-x 2.2.6
  • proj.mac
  • OS X 10.11.2 (El Capitan)

デバッグコンソールに表示されるエラーメッセージは

  1. libc++abi.dylib: terminating with uncaught exception of type std::logic_error: basic_string::_S_construct NULL not valid

こんな感じでした。ちょっとだけステップ実行で追ってみたら、クラッシュ箇所はすぐに見つけられました。
CCConfiguration::gatherGPUInfo() の中の glGetString(GL_VENDOR)) が NULL を返していて、 std::string の初期化に失敗しているようでした。
試しに glGetError しても何も返ってきません。。。

ぐぐってみると同様の事例がフォーラムに上がっていました。

http://discuss.cocos2d-x.org/t/cocos2d-x-2-x-on-mac-osx-el-capitan/23035/6

解決策として「[glView lockOpenGLContext]; を cocos2d::CCApplication::sharedApplication()->run(); の前に呼ぶ」というのが書かれていましたが、lockしてるのにunlockしないのが気持ち悪くてもうちょっと調査しました。
手元の環境では lockOpenGLContext ではなく、prepareOpenGL を呼んでも解決しました。おそらくどちらのメソッドにも含まれている「[[self openGLContext] makeCurrentContext];」が大事なのかもしれません。NSOpenGLContextが予め正しく作られていないと動かなくなってしまったのでしょうか。。。

todoist.comをキー操作で便利に扱うchrome extensionを作りました。

Written by uechoco 12月 30
todoist.comをキー操作で便利に扱うchrome extensionを作りました。 はコメントを受け付けていません。
この記事を読む時間:148くらい

先日、タスク管理ツールをNozbeからtodoist というサイト/アプリに移行しました。

移行した理由を簡単に説明しておくと、NozbeはシンプルなGTDに忠実すぎて扱いづらかったのと値段がそこそこ高かったんですね。todoistはプロジェクトやタスクの階層が作れたりして扱いやすかったのと、Nozbeより値段がお手頃だったりします。

todoistに移行して管理上の不満はだいぶ減りましたが、この手のツールはキーボード操作がしょぼい。q でクイック作成 とか f で検索ボックスにフォーカスとか最低限のショートカットはあるんですが、最低限過ぎます。

Nozbeの前に使っていたRemember The Milkというサイトでは、キー操作でタスクの一括操作ができて結構それが気に入ってたんですが、NozbeやTodoistはあんまりキー操作に力を入れていない印象です。タスク管理ツールにはRemember The MilkやGmail並のキー操作インターフェースが欲しいのです。

そこでふと考えて、Chrome Extensionでそういったキー操作を付加できないものかと。
そして、できました。

Todoist keyboard navigator

Gmail風に、”g+i”とか”g+t”でInboxやTodayのフィルタに簡単に切り替えることが出来ます。
Chromeストアへの公開って結構さくっとできちゃうんですね。開発者認証のために5ドル払ったらすぐに公開できました。

ゆくゆくはRemember The MilkやGmailのようなリストビューの操作も付け加えたいと思っています。

[Eclipse]cppのSymbol ‘NULL’ could not be resolvedがクリーン&ビルドでも解決しない時に試したいこと

Written by uechoco 10月 27
[Eclipse]cppのSymbol ‘NULL’ could not be resolvedがクリーン&ビルドでも解決しない時に試したいこと はコメントを受け付けていません。
この記事を読む時間:144くらい

EclipseのProblemsにいつまでたってもエラーが残ってしまうことがあります。

cocos2d-xのようなプロダクトをAndroid向けにビルドするときにEclipseを使うことがあるんですが、コマンドラインでのビルドは通るのにEclipse上でのビルドが通らないなんてことはよくあります。

大抵の場合Cleanしてビルドし直すとエラーが消えることが多いです。ワークスペース内に複数のプロジェクトが存在していて、かつ依存関係がある場合は、依存されているプロジェクトから順番にビルドしなおしていきます。

ところがClean&Buildしてもエラーが消えない事例が発生しました。

「Symbol ‘NULL’ could not be resolved」

cpp/hのコードの中です。includeプリプロセッサを追っていけばNULLの定義があるし、そもそもコマンドラインでのビルドは通っているのでEclipseのせいだとはわかっているのに。。。

愚直にエラーメッセージをグーグル先生に入力したら、新しい解決方法を見つけました!

http://stackoverflow.com/a/11093675

IndexのRebuild

リンク先に記載してあるUIではなかったのですが、macのメニューバーから[Project]->[C/C++ Index]->[Rebuild]を実行したら、先ほどのエラーが消えました!!Eclipse CDTでのおまじないって覚えておけばいいですかね?

イクリプスぇ・・・・

[android]個別インストールしたAndroid SDKのManagerを開くには

Written by uechoco 10月 06
[android]個別インストールしたAndroid SDKのManagerを開くには はコメントを受け付けていません。
この記事を読む時間:118くらい

「android update project」しようと思ったら、意図したtargetが見つからない模様。
「android list targets」したら「Available Android targets:」の後には何も出力されず。
なるほどEclipse上のSDK ManagerでいくつかSDKは入れたはずだけど、コマンドライン版のSDKとは共有していないのかな。

どうやって入れるか悩んでいたら、SDKに付属のSDK Managerでインストールしているような
スクショを見つけてSDKの中を漁る。
SDKの下のtools/lib/sdkmanager.jarを見つける。
試しに「java -jar ./tools/lib/sdkmanager.jar」しても
「Error: The tools directory property is not set, please make sure you are executing android」
と言われた。

もうちょっとググったら見つけた。
android update sdk」でSDKに付属のSDK ManagerのUIが立ち上がった!

android-sdk-manager