У вас есть рекомендуемые макросы для Microsoft Visual Studio?

Какие макросы вы нашли полезными в Visual Studio для управления кодом и автоматизации?


person Community    schedule 18.08.2008    source источник
comment
Разве его нельзя удалить?   -  person Rohit Gupta    schedule 12.08.2015


Ответы (5)


Это мой макрос для закрытия решения, удаления файла intellisense и повторного открытия решения. Незаменим, если вы работаете на собственном C ++.

Sub UpdateIntellisense()
    Dim solution As Solution = DTE.Solution
    Dim filename As String = solution.FullName
    Dim ncbFile As System.Text.StringBuilder = New System.Text.StringBuilder
    ncbFile.Append(System.IO.Path.GetDirectoryName(filename) + "\")
    ncbFile.Append(System.IO.Path.GetFileNameWithoutExtension(filename))
    ncbFile.Append(".ncb")
    solution.Close(True)
    System.IO.File.Delete(ncbFile.ToString())
    solution.Open(filename)
End Sub
person Community    schedule 28.08.2008
comment
@xan: удален ncbString для JR - person Jon Cage; 09.03.2010
comment
Шаблонный проект «Мой веб-сайт» (т.е. НЕ веб-приложение) не содержит файла .ncb. :( - person Chiramisu; 07.06.2012

Это один из удобных вариантов, которые я использую в файлах HTML и XML:

''''replaceunicodechars.vb
Option Strict Off
Option Explicit Off
Imports EnvDTE
Imports System.Diagnostics

Public Module ReplaceUnicodeChars

    Sub ReplaceUnicodeChars()
        DTE.ExecuteCommand("Edit.Find")
        ReplaceAllChar(ChrW(8230), "…")   ' ellipses
        ReplaceAllChar(ChrW(8220), "“")   ' left double quote
        ReplaceAllChar(ChrW(8221), "”")   ' right double quote
        ReplaceAllChar(ChrW(8216), "‘")   ' left single quote
        ReplaceAllChar(ChrW(8217), "’")   ' right single quote
        ReplaceAllChar(ChrW(8211), "–")   ' en dash
        ReplaceAllChar(ChrW(8212), "—")   ' em dash
        ReplaceAllChar(ChrW(176), "°") ' °
        ReplaceAllChar(ChrW(188), "¼") ' ¼
        ReplaceAllChar(ChrW(189), "½") ' ½
        ReplaceAllChar(ChrW(169), "©") ' ©
        ReplaceAllChar(ChrW(174), "®") ' ®
        ReplaceAllChar(ChrW(8224), "†")   ' dagger
        ReplaceAllChar(ChrW(8225), "‡")   ' double-dagger
        ReplaceAllChar(ChrW(185), "¹") ' ¹
        ReplaceAllChar(ChrW(178), "²") ' ²
        ReplaceAllChar(ChrW(179), "³") ' ³
        ReplaceAllChar(ChrW(153), "™")   ' ™
        ''ReplaceAllChar(ChrW(0), "�")

        DTE.Windows.Item(Constants.vsWindowKindFindReplace).Close()
    End Sub

    Sub ReplaceAllChar(ByVal findWhat, ByVal replaceWith)
        DTE.Find.FindWhat = findWhat
        DTE.Find.ReplaceWith = replaceWith
        DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
        DTE.Find.MatchCase = False
        DTE.Find.MatchWholeWord = False
        DTE.Find.MatchInHiddenText = True
        DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral
        DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
        DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
        DTE.Find.Execute()
    End Sub

End Module

Это полезно, когда вам нужно ввести какие-либо данные и вы хотите избежать всего сразу.

person Community    schedule 18.08.2008

Это я создал, который позволяет вам легко изменять версию целевой платформы для всех проектов в решении: http://geekswithblogs.net/sdorman/archive/2008/07/18/visual-studio-2008-and-targetframeworkversion.aspx

person Community    schedule 28.08.2008

Я использую Жан-Поль Буду макрос BDD. Он заменяет пробельные символы подчеркиванием в строке заголовка сигнатуры метода. Таким образом, я могу ввести имена тестового примера, например, как обычное предложение, нажать сочетание клавиш, и у меня будет действительная подпись метода.

person Community    schedule 28.08.2008

Вы также можете добавить фрагменты кода, они помогают ускорить время разработки и повысить производительность.

Стандартные фрагменты кода VB поставляются с установкой по умолчанию. Фрагменты кода C # необходимо загружать и добавлять отдельно. (Ссылка ниже для тех)

Что касается макросов, я обычно не использовал их, но в книге по работе с Visual Studio 2005 есть несколько довольно хороших.

Фрагменты кода C # Ссылка: http://www.codinghorror.com/blog/files/ms-csharp-snippets.7z.zip (ссылку предоставил Джефф Этвуд) HIH

person Community    schedule 18.08.2008
comment
@RZachary - Я думаю, что фрагменты кода достаточно независимы от макросов, поэтому я пошел дальше и создал для них новый вопрос. Это можно найти здесь. - person rjzii; 28.04.2009