원본 블로그 링크 : http://nving.tistory.com/66

MyMacros -> EnvironmentEvenst에 추가
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics '여기까지 기존 모듈
Imports System.IO 
Sub MakeUTF8File(ByVal path As String)
    Dim input As New FileStream(path, FileMode.Open)

    'Check BOM
    Dim isUTF8 As Boolean = (input.ReadByte = &HEF And input.ReadByte = &HBB And input.ReadByte = &HBF)
    input.Close()

    If (Not isUTF8) Then
        Dim s As String
        s = File.ReadAllText(path, System.Text.Encoding.Default)
        File.WriteAllText(path, s, System.Text.Encoding.UTF8)
    End If
End Sub

Public Sub DocumentEvents_DocumentSaved(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentSaved
    Dim path As String = Document.FullName
    If Document.Language = "C/C++" Then
        MakeUTF8File(path)
        'DTE.ExecuteCommand("Tools.ExternalCommand1")
    End If
End Sub

'이 핸들러는 왠만하면 빼는게 좋다. 라이브러리 파일들을 디버깅 차원에서 열때 자동으로 바꿔버리면 조금 곤란할듯
'Public Sub DocumentEvents_DocumentOpening(ByVal path As String, ByVal flag As Boolean) Handles DocumentEvents.DocumentOpening
'    MakeUTF8File(path)
'End Sub 

Tools.ExternalCommand1에 Cppcheck를 지정해서 사용하면 편리합니다.
2011/10/22 08:52 2011/10/22 08:52

글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

덧글을 달아 주세요