자바 하다 C# 하면서 너무 짜증나는 것 중 하나가 클래스 기본 생성이 private로 된다는 것이다. 자바에서는 굳이 안 써도 패키지 내에서는 접근이 되었는데... 패키지 내에서 마저 접근이 안 되니 짜증이 난다...

그래서 바꾸기로 했다.

 

1. 파일 위치로 이동하기

Visual Studio 2019 기준으로 경로는 다음과 같다.

// Community version
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/ItemTemplates/CSharp/Code/1033/Class

// Professional version
C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/ItemTemplates/CSharp/Code/1033/Class

permission으로 atom 등을 통해 수정이 되지 않는다. 하... 맥에서는 그냥 command + 'i' 누르면 permission 수정 되는데... 윈도우는 잘 모르겠다...

터미널을 이용해수정하자. (반드시 관리자 모드로 열어야 한다. sudo vim을 써서 열면 이상하게 새 파일로 열린다...)

// Community version
cd 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/ItemTemplates/CSharp/Code/1033/Class'

// Professional version
cd 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/ItemTemplates/CSharp/Code/1033/Class'

(저렇게 경로에 ' ' 를 넣어줘야지만 이동되더라...)

 

2. 파일 수정하기

해당 파일을 열어준다.

vim ./Class.cs

반드시 터미널은 관리자 모드로 열려야한다. 여기서는 이상하게 sudo vim을 해도 권한 부여되지 않고 새 파일로 열린다.

 

기존 파일의 형태다.

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

 

이렇게 public class로 고쳐서 저장한다.

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
    public class $safeitemrootname$
    {
    }
}

 

+ Recent posts