Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visual studio 14 CTP2 概要

1,037 views

Published on

NSStudy でやったVS "14" CTP2 の概要説明です。
http://nsstudy.connpass.com/event/7612/

Published in: Technology

Visual studio 14 CTP2 概要

  1. 1. Visual Studio “14” CTP 2 概要 Yoshihisa Ozaki | Nextscape Developer, SI 2, SI Department
  2. 2. 自己紹介 • 尾崎 義尚 • ネクストスケープ社員 • Microsoft MVP for Internet Explorer • Sitecore MVP
  3. 3. Visual Studio “14”
  4. 4. Visual Studio “14” • 2015年にリリース予定 • テストとフィードバックが目的 • 2014 ではなくて、コードネーム(バージョン番号) 13 は縁起が悪いので
  5. 5. Azure に仮想マシン
  6. 6. 概要 • Roslyn • ASP.NET vNext • C++ 11 • IDE
  7. 7. 概要 • Roslyn • ASP.NET vNext • C++ 11 • IDE
  8. 8. Roslyn • C#とVBで使われているコンパイラー プラットフォーム • .NET Compiler Platform = コードネーム ”Roslyn” • 旧来のコンパイラーと完全互換 • オープンソース – http://roslyn.codeplex.com/
  9. 9. Roslyn • 機能追加が容易 – コンパイラーと同じ解釈により機能拡張が作りやすい – サードパーティー拡張が作りやすい • Visual Studio 標準では以下に使われている – ビルド – IntelliSense – リファクタリング – CodeLens – デバッグ など
  10. 10. マネージド言語 • リファクタリング サポートが刷新 – インライン一時変数 – 説明変数の導入 – Visual Basic もサポート • NuGetで取得したAPIの分析、自動修正
  11. 11. Roslyn • Csc.exe, Vbc.exe が逆アセンブル可能に • まあ、CodePlex からソースが落とせるけどね。
  12. 12. C#の新機能を使う • C# 6.0 の新機能はまだ正式版ではないため、.csproj を変 更する必要がある。 • 今使えるからと言って、RTM時に使えるとは限らない <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <LangVersion>experimental</LangVersion> </PropertyGroup> VB は、まだ
  13. 13. C#の新機能を使う 静的 Using ステートメント • クラスをusingすることで、静的メソッドの呼び出し時に省 略可能に using System.Console; namespace CSharpVNext { class Program { static void Main() { WriteLine("Hello"); Read(); } } Imports System.Console Module Module1 Sub Main() WriteLine("Hello") Read() End Sub End Module VB は前からできてたC#
  14. 14. C#の新機能を使う プロパティ、コンストラクタ • プライマリ コンストラクター • プロパティ using System.Math; namespace CSharpVNext { class Circle(int radius) //--- プライマリ コンストラクタ { public int Radius { get; } = radius; // 自動プロパティ初期化子 public double Area2 => this.Radius * this.Radius * PI; // ラムダ } } VB はまだC#
  15. 15. C#の新機能を使う null 伝搬演算子 • null 伝搬演算子 • null チェックを省略可能 string s = null; return s?.Length; // null が返る C# VB はたぶん実装されないと思う
  16. 16. C#の新機能を使う 例外フィルター • Exception の catch に条件を追加可能に • DB サーバーのエラーコードで特定の処理をするなど try { throw new ArgumentException(“Exception”, “aaa”); } catch (ArgumentException ex) if (ex.ParamName == "aaa") { WriteLine("aaaはいるでしょ。"); } Try Throw New ArgumentException("Exception", "aaa") Catch ex As ArgumentException When ex.ParamName = "aaa" WriteLine("aaaはいるでしょ。") End Try C # V B は 前 か ら
  17. 17. C#の新機能を使う 変数宣言式 • out 用の変数宣言が不要に if (int.TryParse("1234", out var value)) { WriteLine(value); } C# VB はまだ
  18. 18. C#の新機能を使う catch/finally で await • catch/finally でも await 可能に try { throw new Exception(); } catch { await Task.Delay(10000); } C# VB はまだ
  19. 19. 概要 • Roslyn • ASP.NET vNext • C++ 11 • IDE
  20. 20. ASP.NET vNext (CTP 2時点) • ASP.NET MVC と Web API のプログラミング モデルを統合 • コンパイルなしの開発者エクスペリエンス • いきなり依存性注入 • アプリで使われるランタイムとフレームワークのサイド・バイ・サイド デプロイ • すべてにNuGet • 完全オープンソース - .NET Foundation • クラウドにシームレスに移行するための環境ベースの設定 • クラウドに最適化されたランタイムは真のサイド・バイ・サイド バージョニングをサポート • IIS での実行、独自プロセスでの自己ホスト
  21. 21. 概要 • Roslyn • ASP.NET vNext • C++ 11 • IDE
  22. 22. C++ 11 • なんかいろいろあるけどよくわかりません。
  23. 23. 概要 • Roslyn • ASP.NET vNext • C++ 11 • IDE
  24. 24. IDE いろいろ •メニューが大文字じゃなくなった •ウィンドウ レイアウトの保存、復元が可能に •IDE レイアウトを保持可能に •エラーリストに高解像度アイコン Visual Studio 2013 Update 2 Visual Studio “14”
  25. 25. IDE Light Bulbs • コード上の問題点の修正方法を提案 • 拡張も可能 ReSharper 的な
  26. 26. IDE タッチ サポート •Visual Studio Editor のタッチ対応 •スクロール •ピンチ •コンテキスト・メニューのタップとホールド •ダブルタップによる単語の選択 •マージンのタップによる行選択
  27. 27. フィードバックの送信 • CTP は、フィードバックを目的としたリリースです。 – よかったところ – わるかったところ – バグ
  28. 28. お客様のビジョンに共感し、感動を実現します

×