[Tutorial] Viết snippet cho Microsoft Visual Studio

Những bạn nào đã từng sử dụng các IDE như Netbeans hay Visual Studio (VS) cũng biết đến những đoạn code được định nghĩa sẵn và gắn với một từ khóa nào đó, khi dev gõ từ khóa đó thì đoạn code được chèn, giúp dev tiết kiệm thời gian gõ, đó là Snippets.

Ví dụ:
psvm trong Netbeans là public static void main(String[] args) (Java)
cw trong VS là Console.WriteLine(); (C#)
Bài tutorial này mình sẽ hướng dẫn các bạn viết một snippet không có sẵn trong VS. Mình bắt đầu với Console.ReadLine();


Bước 1: tạo 1 file XML trong VS:


Chọn File - New - File… hoặc nhấn Ctrl + N

Chọn XML File, nhấn Open

Và đây là file XML


Bước 2: viết snippet cho file XML
Đây là đoạn code Console.WriteLine(), các bạn copy rồi paste vào trong file XML

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>cw</Title>
<Shortcut>cw</Shortcut>
<Description>Code snippet for Console.WriteLine</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>SystemConsole</ID>
<Function>SimpleTypeName(global::System.Console)</Function>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[$SystemConsole$.WriteLine($end$);]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

Bước quan trọng để tạo snippet cho Console.ReadLine();

Sau khi mình edit:


Bước 3: save file XML.
Ở đây mình sử dụng MS Visual Studio Community 2015, mình save vào thư mục: C:\Program Files\Microsoft Visual Studio 14.0\VC#\Snippets\1033\Visual C#. Khi bạn mở thư mục này, các bạn sẽ thấy rất nhiều file snippet trong đây. Các bạn có thể mở nó bằng VS để coi code của nó như thế nào.

Các bạn save file dưới định dạng của Snippet Files(*.snippet)

Mình tạo một Console Application, bước này thì ai cũng biết làm rồi :smiley:
cr và nhấn Tab 2 lần:

Enjoy!

7 Likes

Mình làm nhưng không được à, Không thấy chạy :frowning:

Có báo lỗi gì không bạn?

rất cảm ơn bạn .ngày trước mình cứ tưởng cái này ko tự viết được hóa ra cũng viết được .thanh bạn nhá .chúc bạn nghỉ lễ vui vẻ

Trước tiên cảm ơn bạn vì bài viết.
Nhưng mình xin hỏi vài câu thôi.:
“Title cho ký tự” hiện thị ở đâu?
Dùng cái gì để phan biệt các snippet
Đoạn code ban đầu bạn lấy ở đâu ra.
“Code muốn viết tắt” sao ban đầu lại có mấy cái dấu $.
Tại sao lại xóa phần Declaration? Nó có ý nghĩa gì không?
Trong tag Code có cái language=“cshap” nghĩa là chỉ áp dụng cho C#? vập C++ phải viết là language = “cpp” hay “c++”?
mình muốn viết mấy cái snippet bá đạo hơn thì tìm hiểu thêm ở đâu?

Bạn đã giải quyết được các câu hỏi trên chưa, nếu rồi bạn có thể chia sẻ lại được không, cảm ơn bạn.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?