Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

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なんですね。

【.NET】文字列が指定された書式の日時として妥当かどうかを返す拡張メソッドIsValidAsDateTimeExact

前回は、文字列が日時として妥当かどうかを返す拡張メソッドを作成しました。
blog.jhashimoto.net

そこで、今回は、文字列が指定された書式の日時として妥当かどうかを返す拡張メソッドIsValidAsDateTimeExactを作成してみます。

続きを読む

文字列が日時として妥当かどうかを返す拡張メソッドIsValidAsDateTime

文字列の変換は不要で、日時として妥当かどうかを知りたいだけの場合、DateTime.TryParseを使うのは、煩わしいですよね。

DateTime result;    // わざわざ変数を宣言しなければならない。
bool isValid = DateTime.TryParse("2016/01/01", out result);

そこで、文字列が日時として妥当かどうかを返す拡張メソッドIsValidAsDateTimeを書いてみました。

続きを読む