2014年2月15日土曜日

Visual Studio Expressで、StyleCopを使う [改良版]

前回の方法だと、毎回StyleCopが走ってうざい。
とくに、実装中やデバッグ中のコードスタイルを指摘されるとキレそうになる。
だいいち、ワーニングとか見づらいし。

なので、Releaseビルド時のみチェックを走らせるようにした。

<Import Condition="Exists('$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets') and '$(Configuration)' != 'Debug'"
        Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets" />

これで、デバッグ中はスッキリするようになった。

2014年2月12日水曜日

かっこいい電卓を3分で作る方法

こんな電卓をWPFで作ってみた



まず、WPFプロジェクトを作成し、NuGetでExtended WPF ToolKitを追加する。


次に、MainWindow.xamlに以下の行を追加する。

<Window x:Class="Calculator.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpftoolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <wpftoolkit:Calculator/>
    </Grid>
</Window>

貼り付けただけで、作ってないな。

2014年2月11日火曜日

Extended WPF Toolkit 無料版 (Community Edition)

どんなコントロールがあるのか φ(..)メモメモ
例によってグーグル先生に聞いてみた。括弧内はWindows.Formsのコントロールに対応

  • AvalonDock (要はIDEみたいなドッキングウィンドウ)
  • AutoSelectTextBox (要はフォーカス時に選択状態になるTextBox)
  • BusyIndicator (要はProgressBar)
  • ButtonSpinner (要はNumericUpDown)
  • Calculator (要は電卓)
  • CalculatorUpDown (要は電卓とNumericUpDownの合体)
  • CheckComboBox (要は複数選択可能なComboBox+CheckListBox)
  • CheckListBox (要はCheckListBoxそのもの)
  • ChildWindow (要は中身を自由に作れるMessageBox)
  • CollectionEditor (要はPropertyGridのコレクションエディタ)
  • DataGrid (要は高速DataGrid)
  • CollectionControlDialog (要はPropertyGridのコレクションエディタのダイアログ版)
  • ColorCanvas (要はペイントツール等の色をつくる画面)
  • ColorPicker (要はColorDialogの中身の高機能版)
  • DateTimePicker (要はDateTimePickerのカレンダーが出た状態)
  • DateTimeUpDown (要はUpDownで日付時刻が変更できるDateTimePicker)
  • DecimalUpDown (要はDecimal?対応NumericUpDown)
  • DoubleUpDown (要はDouble?対応NumericUpDown)
  • DropDownButton (要はPanelのドロップダウンなボタン)
  • IntegerUpDown (要はInt?対応NumericUpDown)
  • Magnifier (要はルーペ機能)
  • MaskedTextBox (要はMaskedTextBox)
  • MessageBox (要はMessageBox)
  • MultiLineTextEditor (要はドロップダウンなTextBoxのMultiLineをTrue)
  • Pie (要は円弧のシェイプ)
  • PrimitiveTypeCollectionEditor (要はドロップダウンなコレクションエディタ??)
  • PropertyGrid (要はPropertyGrid)
  • RichTextBox (要はRichTextBox)
  • RichTextBoxFormatBar (要はRichTextBoxのツールバー:フォントや右寄せ)
  • SplitButton (ドロップダウンでパネルを表示するベースクラス??)
  • SwitchPanel
  • RandomPanel
  • WrapPanel
  • TimelinePanel (要は日付時刻に添ってレイアウトするパネル)
  • TimePicker (要はDateTimeUpDown の時間専用版)
  • WatermarkTextBox (要は入力して欲しい内容を薄く表示するTextBox)
  • WindowContainer (要は何だろ?)
  • Wizard (要はWizardを単一フォームで実現)
  • Zoombox (要は)

2014年2月5日水曜日

Visual Studio Expressで、StyleCopを使う

ソリューションエクスプローラで、プロジェクトをアンロードすると、右クリックメニューでプロジェクトファイルを編集できる。

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Condition="Exists('$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets')" 
Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

こんなんを用意して、スニペットに登録すると楽だよ
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>ExpressでStyleCop</Title>
<Author>Jun</Author>
<Description>Ver4.7系に限定!あらかじめStyleCopのインスコが必要です。</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Code Language="XML">
<![CDATA[<Import Condition="Exists('$$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets')" 
Project="$$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets"/>
]]>
</Code>
</Snippet>
</CodeSnippet>