내 .cs 파일 상단에 있는 긴 사용 목록을 제거할 수 있는 방법이 있나요?

StackOverflow https://stackoverflow.com/questions/62219

문제

내 솔루션에 점점 더 많은 네임스페이스가 생기면 내 파일 상단에 있는 using 문 목록이 점점 길어집니다.특히 호출될 수 있는 각 구성 요소에 대해 인터페이스, IoC 컨테이너 및 구체적인 유형에 대한 사용을 포함해야 하는 단위 테스트의 경우입니다.

내 통합 테스트 파일에서 17줄 이상의 용도를 사용하면 완전히 지저분해집니다.명령문을 사용하여 내 베이스에 대한 매크로를 정의하는 방법이 있는지 아는 사람이 있나요?다른 해결책은 없나요?

도움이 되었습니까?

해결책

어떤 사람들은 용도를 숨기는 것을 좋아합니다. #region.그렇지 않으면 운이 없다고 생각합니다.모든 참조 대상에 네임스페이스를 추가하려는 경우가 아니면 말이죠.

다른 팁

이 말을 큰 소리로 하면 안 된다는 건 알지만 디자인을 다시 생각해 보세요.

1개 파일에 17개 사용 = 많은 결합(네임스페이스 수준에서).

Resharper 자체를 참을 수 없습니다.그러나 나는 또한 진술을 사용하여 지저분한 것을 참을 수 없습니다.나는 전원 명령 명령문을 사용하여 편리한 '제거 및 정렬' 명령을 제공하는 VS용 추가 기능입니다.

여기에는 네 가지 가능한 문제가 있습니다.

코드의 네임스페이스가 클래스를 너무 세밀하게 나누고 있습니다. 예를 들어, 그렇다면;

using MyCompany.Drawing.Vector.Points;
using MyCompany.Drawing.Vector.Shapes;
using MyCompany.Drawing.Vector.Transformations;

단일로 축소하는 것을 고려해보세요. MyCompany.Drawing.Vector 네임스페이스.너무 많이 나누어서 이득을 얻지 못할 수도 있습니다.Visual Studio Code Analysis/FxCop에는 네임스페이스의 클래스 수를 확인하는 규칙이 있습니다.너무 적으면 경고가 표시됩니다.

동일한 클래스에 너무 많은 테스트를 적용하고 있습니다. 참고하고 계시다면 System.Data, System.Drawing, 그리고 System.IO 같은 클래스에서 더 많은 원자 테스트(데이터베이스에 액세스하는 테스트, 이미지를 그리는 테스트, 파일 시스템에 액세스하는 테스트)를 작성하는 것을 고려해보세요.그런 다음 각 유형을 세 가지 테스트 클래스로 나눕니다.

당신은 너무 많은 일을 하는 테스트를 작성하고 있습니다. 많은 네임스페이스를 참조하는 경우 테스트에서 너무 많은 기능을 결합하고 있을 수 있습니다.이러한 종류의 결합은 종종 버그가 있을 수 있으므로 크고 광범위한 기능을 작은 부분으로 나누고 별도의 파일에서 테스트해 보십시오.

많은 것이 중복됩니다. 모두 사용됩니까, 아니면 다른 파일에서 복사하여 붙여넣은 것입니까?코드 편집기를 마우스 오른쪽 버튼으로 클릭하고 '다음을 사용하여 구성' 옵션을 선택하여 사용되지 않는 문을 제거합니다.

진술을 사용하여 내 기본의 매크로를 정의하는 방법이 있는지 아는 사람이 있습니까?

자주 사용하는 네임스페이스가 각각의 새 클래스에 자동으로 추가된다는 뜻인가요?그렇다면 Resharper도 그렇게 할 수 있습니다.또한 코드 정리 시 사용 항목을 영역에 배치하는 기능도 있습니다.Resharper가 좋은 선택이 될 수 있습니다(내 경험으로 볼 때 후회하지 않을 것입니다).

VS2008에는 파일별로 원하는 작업을 수행하는 정렬, 제거 및 "제거 및 정렬" 옵션이 있는 "사용 항목 구성" 상황에 맞는 메뉴가 추가되었습니다.Visual Studio 전원 명령 추가 기능은 프로젝트 및 솔루션에 대한 솔루션 탐색기에 프로젝트의 모든 파일과 솔루션의 모든 프로젝트에 대해 각각 "제거 및 정렬"인 상황에 맞는 메뉴를 추가합니다.

새 파일을 만들 때 수행되는 기본 using 문을 변경하려면 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033 디렉터리를 살펴보세요.여기에는 코드 파일의 템플릿을 변경하기 위해 수정할 수 있는 일련의 zip 파일이 포함되어 있습니다(물론 다른 언어나 다른 유형의 파일을 변경하려면 디렉터리 구조를 위로 이동하세요).

보다 여기 자세한 내용은.

앨리어싱을 사용하는 것이 도움이 될 수 있습니다.그만한 가치가 있는지 확실하지 않지만 대신 다음을 수행하십시오.

using System.Web.UI;
using System.Web.Mail;
using System.Web.Security;
... Control ...
... MailMessage ...
... Roles ... 

당신이 사용할 수있는:

using W = System.Web;
... W.UI.Control ...
... W.Mail.MailMessage ...
... W.Security.Rolse ...

Visual Studio용 추가 기능인 Resharper에는 파일에서 사용되지 않은 Using를 제거하는 기능이 있지만 설명하신 것과 정확히 일치하는 기능은 없습니다.

VS2008에서는 CS 파일을 마우스 오른쪽 버튼으로 클릭하고 'Organize Usings'를 선택할 수 있습니다.사용하지 않은 사용 항목을 제거하고 분류해 드립니다.그 외에는 #region을 사용하겠습니다.또한, CTRL 키++영형 디자인 타임에 모든 지역 기능 등이 축소됩니다.저는 이 단축키를 많이 사용합니다!

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