코드 조작 및 자동화를 위해 Visual Studio에서 유용한 일부 매크로는 무엇입니까?Microsoft Visual Studio에 권장 매크로가 있습니까?
답변
코드 스 니펫도 추가하면 개발 시간을 단축하고 생산성을 높일 수 있습니다.
표준 VB 코드 스 니펫은 기본 설치와 함께 제공됩니다. C# 코드 스 니펫은 별도로 다운로드하여 추가해야합니다. (그 아래에 대한 링크)
매크로에 관한 한, 일반적으로 비주얼 스튜디오 2005 책에 대한 작업은 거의 사용하지 않았지만 거기에는 꽤 좋은 것들이 있습니다. 이
@RZachary - 코드 스 니펫은 매크로의 독립성으로 인해 앞으로 나아가 새로운 질문을 만들었다 고 생각합니다. 여기에서 찾을 수 있습니다. – rjzii
이 내가 HTML 및 XML 파일에서 사용하는 편리한 것들 중 하나는 (링크 제프 앳 우드 제공) HIH을 http://www.codinghorror.com/blog/files/ms-csharp-snippets.7z.zip :
''''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
그것은 때 유용
C# 코드는 링크 니펫 어떤 종류의 데이터 입력을해야하고 모든 것을 한 번에 벗어나고 싶습니다.
이 쉽게 솔루션의 모든 프로젝트의 대상 프레임 워크 버전을 변경할 수 있습니다 내가 만든 하나입니다 http://geekswithblogs.net/sdorman/archive/2008/07/18/visual-studio-2008-and-targetframeworkversion.aspx
내가 사용 Jean-Paul Boodhoo의 BDD macro. 공백 문자를 메소드 서명의 헤더 행에서 밑줄로 대체합니다. 이 방법으로 테스트 케이스의 이름을 입력 할 수 있습니다 (예 : 일반 문장, 키보드 단축키 누르기, 올바른 메소드 서명이 있음).
이것은 솔루션을 닫고 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
삭제해야합니까? –