読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマーです。CSharper。主にプログラミング、時々ライフハック。

メディアマーカーでKindle Unlimitedの読書管理をする

ライフハック 書籍

私は読書管理に、メディアマーカーを使っています。

mediamarker.net

Kindle Unlimitedの本をどうやって管理しようかな...と悩んでいたのですが、運用ルールが自分の中で固まってきたので、シェアしたいと思います。

続きを読む

【.NET】型を指定してEnumにParseするParse<T>メソッドを書いてみた

.NET Enum

Enum.Parseを使って、文字列をEnumにParseするには以下のように書きます。

(Creature) Enum.Parse(typeof(Creature), "Human");

型を2回指定するのが面倒なので、型を指定してEnumにParseするParse<T>メソッドを書いてみました。

続きを読む

Visual Studio 2015から公開リポジトリを横断検索するマクロを書いてみた

Visual Studio マクロ

公開リポジトリのソースコードを横断検索できる「searchcode」というサイトを知りました。

techmemo.biz

先日書いたGitHubを検索するマクロを元に、searchcodeを検索するマクロを書いてみました。

続きを読む

Visual StudioからGitHubのコードを検索するマクロを書いてみました

Visual Studio マクロ GitHub

Visual Studioのマクロ機能は2012で廃止されてしまいました。理由は使用しているユーザーが少ないからだそうですが、個人的は残念でした。

そのマクロを2015で使える拡張機能「Macros for Visual Studio」が公開されたので、GitHubのコードを検索するマクロを書いてみました。

マクロ作成手順

1. Nugetから「Macros for Visual Studio」をインストールします。
2. メニュー[ツール] - [Macros] - [Macro Explorer]を実行します。
3. Macro Explorerの保存アイコンを実行します。
f:id:JHashimoto:20160521140849p:plain
4. ダイアログで、マクロ名と割り当てるショートカットキーを入力し、OKを実行します。
5. Macro Explorerで、作成されたファイルを右クリックし、[開く]を実行します。
6. ソースコードをエディタに貼り付けて、保存します。

ソースコード

var queryBase1 = "https://github.com/search?l="
var queryBase2 = "&ref=searchresults&type=Code&utf8=✓";

if (dte.ActiveDocument.Selection != "") {
    var fileName = new String(dte.ActiveDocument.ProjectItem);

    if (fileName.match(".+.cs"))
        queryBase1 += "C%23";
    else if (fileName.match(".+.vb"))
        queryBase1 += "visual-basic";
    else if (fileName.match(".+.js"))
        queryBase1 += "JavaScript";

    dte.ExecuteCommand("View.WebBrowser", queryBase1 + "&q=" + dte.ActiveDocument.Selection + queryBase2);
}

とりあえず、C#とVBとJavaScriptに対応しました。

使い方

1. エディターで、検索したい文字列を選択します。
f:id:JHashimoto:20160521141539p:plain
2 .割り当てたショートカットキーを入力します。
3. 新しいタブが開き、GitHubの検索結果が表示されます。
f:id:JHashimoto:20160521141717p:plain

昔はマクロといえばVisual Basicでしたが、今時はやっぱりJavaScriptなんですね。