문제

Visual Studio 2008에서 키워드의 자본화를 프로그래밍적으로 강제하는 가장 쉬운 방법은 무엇입니까?

우리는 독점적 명령 구분 언어 (HTML과 같은)로 작업합니다. 우리는 구형 편집자에서 Visual Studio 2008로 마이그레이션하려고합니다. 코딩 표준은 명령을 활용하는 것입니다. 기존 편집기는 명령 시작 구분 기호를 인식하고 최종 분리기가 입력되거나 이스케이프 키를 누르기 전까지는 대문자를 강제로 인식하도록 사용자 정의됩니다.

Visual Studio 2008에서 가장 좋은 방법은 무엇입니까? 매크로 또는 애드 인으로 수행 할 수 있습니까?

(편집 1-12-2009)

지금까지 제안 해주셔서 감사합니다. 나는 그들이 내 질문에 대답한다고 생각하지 않습니다.

설명 :

  • 이전 편집자는 CodewRight 였으므로 사용자 정의는 Visual Studio에 휴대용이 없습니다.
  • 소스 코드는 C#이 아닙니다. Stylecop은 C#을위한 것 같습니다. 우리의 언어는 HTML과 같은 마크 업 언어와 유사하지만 다른 구분 기호 문자 및 명령이 있습니다.
  • 실제로 개발자 유형으로 자본화하려고 노력하고 있으며 적절한 자본화에 대해 상기시키지 않습니다. 명령이 모두 정리되어 있으므로 현재 편집기는 실제로 시작 구분기를 입력 할 때 캡 잠금 장치를 켜고 있습니다. 끝 구분 기호 또는 이스케이프 키를 누르면 캡 잠금 장치가 다시 꺼집니다. 이것은 키보드의 캡 잠금 상태와 무관합니다.
도움이 되었습니까?

해결책 3

이것은 최선의 해결책이 아닐 수도 있지만 여기에 내가 생각해 낸 것이 있습니다.

매크로를 사용하여 주요 프레스 이벤트를 캡처하십시오.

방법은 다음과 같습니다.

  1. Visual Studio에서 도구-> 매크로-> 매크로 IDE 메뉴
  2. "MyMacros"를 두 번 클릭하여 다른 부분을보십시오.
  3. "Environmentevents"를 두 번 클릭하십시오.
  4. 환경 이벤트 모듈에 다음 코드를 추가하십시오.
  5. 파일을 저장하고 테스트 할 일반 대 IDE로 돌아갑니다.

    Private My_AutoCaps As Boolean = False
    Private Sub TextDocumentKeyPressEvents_BeforeKeyPress(ByVal Keypress _
      As String, ByVal Selection As EnvDTE.TextSelection, _
      ByVal InStatementCompletion As Boolean, ByRef CancelKeyPress As Boolean) _
      Handles TextDocumentKeyPressEvents.BeforeKeyPress
         Dim fileName As String = UCase(Selection.DTE.ActiveDocument.Name)
         If ( fileName.EndsWith(".CPI") ) Then
             If (My_AutoCaps) Then
                 'MsgBox(Keypress)
                 If (Keypress = "(" Or Keypress = ":") Then
                     'MsgBox("End of command character pressed.")
                     My_AutoCaps = False
                     Return
                 ElseIf (Keypress >= "a" And Keypress <= "z") Then
                     'MsgBox("Letter pressed.")
                     Selection.Text = UCase(Keypress)
                     CancelKeyPress = True
                 End If
             Else 'AutoCap is not on yet
                 If (Keypress = "^") Then
                     'MsgBox("You pressed the Start Command character.")
                     My_AutoCaps = True
                     Return
                 End If
             End If
         End If
    End Sub
    

이 매크로는 *.cpi 파일로 제한됩니다.

ESC 키를 캡처하는 방법을 아직 알지 못했지만 지금은 효과가 있습니다.

다른 팁

시험해보십시오 스타일 콥, Microsoft 웹 사이트에서 제공됩니다. 특정 코딩 표준에 대한 규칙 설정을 조정해야 할 수도 있습니다. 우리가 사용하는 코딩 표준의 경우 거의 완벽했습니다.

시간이 많이 걸리는 동안 이것 Post는 vs2005의 유효성 검사 설정에 태그를 추가하는 방법을 보여줍니다. 나는이 방법이 2008 년에 바뀌 었다고 생각하지 않는다.

이전 버전의 Visual Studio에서 이동하는 경우 이전 설정과 사용자 정의 태그 만 가져올 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top