Saturday, May 17, 2014

Autoformatting XAML the hard way

Iris Classon mentioned about a “hidden” feature of Visual Studio which can be used to autoformat XAML here. I think it’s a good option but it’s too simple because sometime you want to have more control on formatting option (order, indent…). In this post I introduce another hard way to do autoformatting XAML.

"XAML Styler" is a Visual Studio extension, which makes XAML markup source code beautify much easier by sorting the attributes based on their importance. This tool can help you/your team maintain a better XAML coding style as well as a much better XAML readability.

You can get XAML Styler from here

You can configure XAML Styler to sort attributes in the way you want, fix whitespace between <Run/>, indent XAML markup based on Visual Studio settings and many more. And you can even format XAML without using yet another shortcut key, Ctrl + S to save file also does formatting for you. For more details on features, you can find out here.

Tự động định dạng XAML theo cách khó khăn

Iris Classon đề cập đến một tính năng “ẩn” của Visual Studio có thể dùng để tự động định dạng XAML ở đây. Theo tôi nó là một sự lựa chọn tốt nhưng nó quá đơn giản bởi đôi khi bạn muốn nắm kiểm soát nhiều hơn trong việc định dạng (thứ tự, thụt dòng…). Trong bài viết này tôi sẽ giới thiệu với các bạn một cách khó khăn khác để tự động định dạng XAML.

"XAML Styler" là một Visual Studio extension làm cho mã nguồn XAML đẹp đẽ hơn bằng cách sắp xếp các thuộc tính dựa trên tầm quan trọng của chúng. Công cụ này cho phép bạn/nhóm của bạn duy trì coding style cho XAML tốt hơn, đồng thời nó cũng giúp đọc XAML dễ dàng hơn.

Bạn có thể lấy XAML Styler tại đây

Bạn có thể cấu hình XAML Styler sắp xếp các thuộc tính the cách bạn mong muốn, sửa lỗi khoảng trắng giữa các thẻ <Run/>, thụt dòng XAML dựa trên thiết lập của Visual Studio và nhiều hơn nữa. Bạn cũng có thể định dạng XAML mà không cần sử dụng một shortcut key khác (như cách của Iris Classon), Ctrl + S sẽ lưu file và đồng thời định dạng luôn cho bạn. Để biết cụ thể hơn về tính năng, bạn có thể tìm hiểu tại đây.

Sunday, April 27, 2014

Sử dụng Visual Studio để xây dựng ứng dụng universal

Tạo hội thảo Build vừa qua, Microsoft đã giới thiệu sự hội tụ của hai nền tảng Windows Phone 8.1 và Windows 8.1. Với vai trò của một developer, điều này có nghĩa bạn có thể xây dựng các ứng dụng chạy trên cả điện thoại và máy tính bảng với khả năng chia sẻ một lượng lớn code và nội dung. Để bắt đầu xây dựng ứng dụng universal, bạn cần sử dụng Visual Studio 2013 Update 2 và các phiên bản sau. Hiện tại Visual Studio 2013 Update 2 RC đã sẵn sang để tải về tại đây http://www.microsoft.com/en-us/download/details.aspx?id=42307. Bài viết này sẽ giới thiệu với các bạn cách sử dụng Visual Studio để tạo ứng dụng universal.

Tạo ứng dụng universal

Để tạo ứng dụng universal, Microsoft đã cung cấp các project template mới giúp tạo cấu trúc và cấu hình cơ bản để bạn có thể chia sẻ code và nội dung:

clip_image002

Nếu bạn đã có sẵn một ứng dụng Windows 8.1, bạn có thể sử dụng menu “Add Windows Phone 8.1” để thêm dự án Windows Phone 8.1 mới và dự án Shared. Bạn cũng có lựa chọn tương tự nếu bạn có một ứng dụng Windows Phone 8.1 và muốn thêm dự án Windows 8.1.

clip_image003

Cấu trúc của ứng dụng universal

Một ứng dụng universal là một tập hợp của 3 dự án – một dự án Windows Store, một dự án Windows Phone và một dự án Shared. Các dự án Windows Store và Windows Phone là các dự án đảm nhiệm việc tạo ứng dụng cho các nền tảng tương ứng. Những dự án này chứa các tài sản được dành riêng cho nền tảng được hướng tới.

Dự án Shared chứa mọi thứ được chia sẻ giữa các dự án Windows Store và Windows Phone. Các loại item có thể là các file .cs, XAML, .xml, .png, .resw,… giống như các dự án cho các nền tảng. Dự án Shared không tạo ra output nhưng nội dung của nó được import vào các dự án của từng nền tảng và được sử dụng như một phần của tiến trình build để tạo ra các gói ứng dụng Windows Store và Windows Phone (.appx).

clip_image004

Viết code trong dự án Shared

Khi phát triển ứng dụng universal, phần lớn thời gian bạn sẽ dành để viết code chạy trên cả hai nền tảng. Nếu cần, bạn cũng có thể viết code dành riêng cho một nền tảng nào đó trong dự án Shared sử dụng các chỉ thị #if và #endif. Theo mặc định, ta có sẵn các hằng điều kiện biên dịch sau

C#

WINDOWS_APP

WINDOWS_PHONE_APP

C++

WINAPI_FAMILY_PC_APP

WINAPI_FAMILY_PHONE_APP

Chuyển ngữ cảnh trong editor

Khi code trong dự án Shared, bạn có thể sử dụng chuyển ngữ cảnh dự án trên thanh điều hướng để chọn nền tảng mà bạn muốn làm việc, điều này có tác động đến intellisense trong cửa sổ soạn thảo code.

clip_image005

Chuyển dự án khởi đầu (startup project)

Bạn cũng có thể chuyển nhanh dự án khởi đầu như hình dưới đây.

clip_image006

Chia sẻ code giữa các ứng dụng universal

Bạn có thể sử dụng các thư viện class để chia sẻ mã nguồn cho nhiều ứng dụng universal khác nhau. Với C# và Visual Basic, Microsoft đã cải thiện Portable Class Libraries (PCLs) để hỗ trợ Windows Runtime và XAML hướng tới các nền tảng Windows 8.1 và Windows Phone 8.1.

clip_image007

Với C++, bạn có thể sử dụng template cho dự án Class Library mới để chia sẻ code giữa các thư viện class Windows 8.1 và Windows Phone 8.1.

Tôi hy vọng qua bài viết này các bạn có thể nắm được sơ qua cách sử dụng Visual Studio 2013 để tạo các ứng dụng universal.