pr0g33k

HTML Encode Clipboard Contents in Visual Studio 2013

I use Visual Studio's HTML (Web Forms) Editor to author the articles for this blog because the Split screen feature, which allows me to easily see both the Design editor and Source editor at the same time, helps me ensure the markup is as minimal as possible. When Visual Studio 2013 was released, though, I noticed that one of the features I often used, Edit -> Paste Special, was missing. In previous versions, this command would paste the clipboard contents into the HTML Source Editor as HTML-encoded text. This was especially useful when I wanted to paste HTML between <pre></pre> tags so that the formatting was preserved and any angle brackets were not rendered as actual markup. Other things like quotation marks, apostrophies, and angle brackets in C# code (like the syntax for generics) needs to be HTML encoded so that they validate and appear as expected when output as HTML. So I created a windowless C# application that launches from Visual Studio's External Tools support and HTML-encodes anything placed in the clipboard. Here's how I did it:

Create a new C# Console Application:

When the new project opens, right-click on the Project in Solution Explorer and select Properties. Change the Output Type to "Windows Application":

Next, add references to System.Web and System.Windows.Forms:

Change the code in Program.cs to this:

using System;
using System.Web;
using System.Windows.Forms;

namespace HtmlEncodeClipboard
{
    class Program
    {
        [STAThread]
        static void Main()
        {
            Clipboard.SetText(HttpUtility.HtmlEncode(Clipboard.GetText()));
        }
    }
}

Compile the project and make sure it builds. Then switch the Solution Configuration to Release and build it again so that we can get a release build.

Now create a new Web application (ASP.NET, MVC, whatever - it doesn't matter). When the project opens, open Tools -> External Tools...

Click the "Add" button then type a name in the Title field. For Command, browse to the bin/Release folder of your HtmlEncodeClipboard project and select the HtmlEncodeClipboard.exe executable.

You can move the External Tool up or down the list to position it where you want in the Tools menu. Take note of where you position it, though. We'll use that information in a minute.

To test the external tool, add a HTML page to your project (or a new View if you're in a MVC project - we just need the HTML editor). Select some markup in the editor, copy it (Ctrl + C or Edit -> Copy), go to the Tools menu and select your new command, then paste the clipboard contents (Ctrl + V or Edit -> Paste). Hopefully the result is HTML encoded text in the editor.

Now let's add this to Visual Studio's Edit menu. Select Tools -> Customize... Switch to the Commands tab and select "Edit" from the Menu Bar dropdown list:

Scroll down and select "Cycle Clipboard Ring" then click "Add Command..."

In the Add Command dialog, scroll down and select "Tools" then scroll through the Commands until you find the command you added earlier. This is where it's important that you noted in which position you placed your command. I positioned mine as the third command in the Tools list so here I would choose "External Command 3."

Next, click "Modify Selection" and rename your new menu item:

Now you can select your command from the Edit menu, too:

To add a keyboard shortcut, go to Tools -> Options and select "Keyboard" under the "Environment" node. In the "Show Commands Containing:" textbox, type the name of your command (in my case, the name is "ExternalCommand3" - remember the position you chose earlier). I'm only interested in using this command in the HTML Source Editor so I selected that in the "Use new shortcut in:" dropdown list. In "Press shortcut keys:" I used the "Ctrl + Shift + Alt + E" keystroke sequence because it wasn't previously assigned to anything. Make sure you click the "Assign" button after you find a keystroke sequence that works for you.

I hope this is helpful for you. Using Visual Studio's External Tools feature makes it very easy to enhance your productivity.

Comments:

  1. Вероникаereda

    [img]http://bigsmi.com/uploads/f67d7a658bb256b82181f9da98ef319d.jpg[/img] 
     
    Без труда, получи прибыль навсегда! Мы научим!  
     
    Нужнен интернет заработок, позволяющий хорошо заработать без опыта и знаний работы в сети интернет, читайте дальше. 
    Мы дадим вам свободу от материальных проблем. 
    Достаточно сделать  не сложные действия, с которыми  может справиться даже простой человек. 
    Легко, и это правда? И это реально. 
    Нужно всего лишь наличие компьютера и интернета. 
    Вступите в мою команду, и для вас откроется огромное количество полезной информации, о которой раньше вы даже не догадывались. 
    [url=http://inforabota.tk]Переходите на сайт![/url] 
    ------------------------------------------------- 
    Досвидания - ваш друг  Вероника 
    28.01.2017
  2. Susannahiz

    Изумительные овощи на гриле в духовке 
     
    [img]http://poleznye-sovety.kok7.ru/wp-content/uploads/2017/02/b0a4b220a28671170a15d046a390e436-158x158.jpg[/img] 
     
    Наверное, в мире нет такого человека, который не пробовал бы такую вкуснятину, как жареное мясо на гриле, а вот насчет овощей, можно поспорить. 
    Если овощи на гриле приготовить по правильному рецепту, то их будут есть даже те люди, которые не любят их. 
    Овощи сами по себе очень полезны и имеют достаточное количество витаминов, которые рекомендуется употреблять человеку. 
    Каждый врач скажет вам, что овощи обязательно должны присутствовать в рационе ежедневного питания. 
    Но в обыденной жизни люди отдают приоритет другим блюдам, а овощи, как правило, употребляют изредка. 
    Воспользовавшись отличным рецептом, овощи на гриле, на мангале можно приготовить так, что ваши гости останутся довольны и еще не раз захотят полакомиться такой вкуснятиной. 
    Существует множество рецептов по приготовлению овощей на гриле, рассмотрим некоторые из них. 
    Прежде всего, стоит упомянуть, что именно на гриле можно готовить габаритные овощи: цветная капуста, кабачки, кукурузу, помидоры и так далее. 
    Чтобы приготовить овощи в духовке, необходимо выбрать режим... [b][url=http://poleznye-sovety.kok7.ru/izumitelnye-ovoshhi-na-grile/]Читать далее »[/url][/b] 
     
    Рекомендую, вам очень понравится! 
    Приятного аппетита с уважением -  Susanna 
    ------------------------------- 
    01.03.2017
  3. Veneramam

    Подтяжка лица в домашних условиях 
     
    [img]http://kok7.ru/wp-content/uploads/2017/03/main-125329-8fa5ef167de10b86c56a53140d32aeac-158x158.jpg[/img] 
     
    О том, какие методы подтяжки лица в домашних условиях являются наиболее действенными, 
    я узнала на женском сайте [b][i]Всё для женщины[/i][/b]. 
    Мне понравились эти советы, потому что они очень эффективны. 
    Перед тем, как познакомиться с основными средствами для подтяжки лица в домашних условиях, 
    нужно изучить основные запреты, нарушение которых может привести к усугублению ситуации 
    с обвисанием кожи... 
    Если вам интересно, узнайте подробности [url=http://kok7.ru/podtyazhka-litsa-v-domashnih-usloviyah/]здесь[/url]
  4. Angelkagab

    Ваш доход от 100 000 рублей в месяц гарантирован, потому что: 
    1.Вы получаете сразу 3 (!!!) методики: 
    заработок для ленивых; 
    заработок для активных; 
    заработок для пенсионеров, домохозяек, студентов и не только 
    2.Материалы курса содержат: 
    пошаговые видео уроки; 
    дополнительные материалы; 
    Смотреть [url=https://youtu.be/8unY_4t2NIM]список всех ссылок[/url] необходимых для работы
Leave a comment
  1. CAPTCHA