2011-10-06 3 views
7

저는 전통적으로 VB.NET에서 작업하지만 C#에서 최신 프로젝트를 코딩하라는 요청을 받았습니다.Visual Studio 2010 - VB.NET 편집기보다 성가신 C# 편집기

두 언어로 작업 할 수있어 좋았습니다. 과거에 C# 코드를 VB로 자주 변환해야했기 때문에 개발 중에도 걱정할 필요가 없었습니다.

내 문제는 Visual Studio 편집기에서 발생하며 C# 코드를 작성하거나 더 다양한 키 누르기가 포함될 때 VB.NET 코드를 작성하는 동안 전통적으로 자동화 된 작업 중 몇 개가 누락되었습니다. VB.NET이 영역을 만드는 새로운 # 지역 또는 함수를 생성 예컨대

...

소수점 인텔리에서 차기 및 #Region 저를 도시하는 + R#를 입력하는 것을 포함한다. 나는 space을 누르고 #Region은 자동 완성되어 지역 이름을 입력하고 을 입력하고을 입력하면 #End Region이 자동으로 추가됩니다.

C#으로

, I 입력 # + R ... 및 나다 .. 나도 Ctrl 키 + K + X을 클릭하여 달성 니펫 목록에서 #Region을 선택해야 같은 효과.

마찬가지로 VB.NET에서 함수를 작성할 때 자동 완성 기능을 사용하면 초 단위로 구조가 생성되지만 C#에서는 수동으로 괄호 등을 추가해야하므로 개발 프로세스에 귀중한 시간을 추가해야합니다. (또는 다른 바로 가기 키 조합이있을 수 있습니다)

이들은 두 가지 예제이지만 VB.NET 편집기에서 제공하는 바로 가기는 C# 편집기보다 훨씬 빠르게 코딩 할 수있는 곳이 많이 있습니다. 저는 C#이 VB.NET보다 "더 나은"것으로 인해 종종 찬사를 받듯 실제로 실제로 충격을 받았습니다.

어쨌든 이상합니다.

제 질문은 VB.NET 편집기에 제공된 것과 같은 방법으로 C# 편집기에서 자동 완성을 허용하는 플러그인이 있습니까?

+0

나는 Visual Studio VB.NET 팀의 팀원이 팀을 찾고 있지 않을 때 C# 팀의 기능을 사용하지 않을 것이라고 확신합니다. 이처럼 겉으로보기에 단순한 것에 대해 많은 호언 장담을 들으십시오. –

+2

C#에서 #region을 입력하고 탭을 누르면 #endregion이 삽입되고 커서를 편집 상자에 놓아 이름을 입력합니다. 또한 텍스트 줄을 선택하고 마우스 오른쪽 버튼을 클릭하여 '서라운드로 ...'를 선택할 수 있으며 #region이 옵션 중 하나입니다. 그래서 그것은 VB 편집기와 조금 다를 수도 있지만 그 정도는 아닙니다. 메소드의 경우 코드 스 니펫을 만든 다음 스 니펫을 입력하고 Tab 키를 눌러 완전히 펼칩니다. –

답변

10

Resharper ............................................. ............................

+0

은 트릭을 할 것 같은데 .. 내일 아침에 시도해 보겠습니다. 감사! (그리고 그것이 작동하는 경우 문제가 답변으로 표시됩니다 :) :) – Peter

2

도구 아래에서 파고 드는 소리가 들립니다. 옵션> 텍스트 편집기 > C#을 클릭하고 거기에서 설정을 확인하십시오. 처음에 환경을 VB.NET으로 설정했다면 설정하지 않으면 놓친 부분이있을 수 있습니다.

Visual Studio Power Tools에는 추가 자동 완성 브래킷 옵션과 도움이 될만한 몇 가지 다른 기능이 있습니다.

+0

나는 괜찮은 옵션 주위를 둘러 보았고, 모든 관련 것들은 똑딱 거릴 것 같지만 아무도 (어쨌든 나는 볼 수 있습니다) 기능의 일종을 복제하는 것입니다. . – Peter

+0

내 apoligies, 나는 옵션 중 일부에서 완료 및 자동 삽입 옵션에 따라 괄호를 구성 할 수 있다고 생각했습니다. Snippets의 Ctrl-K, X에는 언급 된 일부 지역 항목과 다른 항목이 있습니다. 하지만 네, 확실히 빠져 있습니다. –

3

저는 VB.NET에서 코딩하는 데 익숙하다고 생각합니다. C#이 VB.NET보다 우월하다고 생각하는 의견에 대해서는 언어와 편집기를 구별해야합니다. 둘은 본질적으로 서로 연결되어 있지 않기 때문입니다.

C#이 VB와 동일한 자동 완성 기능을 제공하지 않을 수도 있습니다.NET이 있지만, 생산성은 언어 사용의 편리함에 달려 있다고 생각합니다. 이러한 자동 완성 기능이 없어도 C#에서는 VB.NET에서보다 훨씬 빠르게 코드를 작성할 수 있습니다. 그 이유는 C#이 작동하는 방식에 익숙해 졌기 때문이며 편집기를 사용하는 방법을 알고 있습니다.

제 생각에는 어느 언어로든 코딩이 생산성에 미치는 영향을 평가하기 전에 C#으로 코딩하는 데 익숙해 져야한다고 생각합니다.

편집

당신이 ReSharper에서에 그 비교의 무료 뭔가를 찾고 있다면, 나는 CodeRush Xpress에서 살펴 본다 제안했다. 또한 Resharper보다 약 $ 100 저렴하게 판매되는 CodeRush의 모든 기능을 갖춘 버전이 있습니다.

0

나는 Resharper와 거의 비슷한 목적으로 사용되는 DevExpress에서 CodeRush의 큰 제안자입니다. Code Rush에서 지역에 넣으려는 경우 지역 해제하려는 코드를 선택하고 Ctrl-3을 누르고 영역 유형에 해당 지역 이름의 캐럿을 사용하여 입력합니다.이 코드의 동작 또한 매우 다양합니다. 모든 템플리트 (스테로이드의 VS 코드 스 니펫과 유사 함)와 관련하여 구성 가능합니다.

완전 공개. 익스프레스 버전에는 Visual Studio 2010의 기능이 거의 없으므로 투자가됩니다.이 버전이나 ReSharper 중 하나를 수행 할 수도 있습니다. 나는 어느 곳에서나 설치되어 있었고 나는 함께 놀지 않는 것을 기억하고있는 것 같다.

2

ReSharper는 Visual Studio가 이미 VB.NET에서 무료로 제공하는 C#과 상당히 유사합니다.

1

여기에 개인 방법을 삽입하기위한 코드를입니다 :

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>Private Method</Title> 
      <Shortcut>pvtm</Shortcut> 
      <Description>Code snippet for a private method</Description> 
      <Author>Your Name Here</Author> 
      <SnippetTypes> 
       <SnippetType>Expansion</SnippetType> 
      </SnippetTypes> 
     </Header> 
     <Snippet> 
      <Declarations> 
       <Literal> 
        <ID>type</ID> 
        <ToolTip>Return Type</ToolTip> 
        <Default>void</Default> 
       </Literal> 
       <Literal> 
        <ID>name</ID> 
        <ToolTip>Method name</ToolTip> 
        <Default>MyMethod</Default> 
       </Literal> 
      </Declarations> 
      <Code Language="csharp"><![CDATA[private $type$ $name$() 
    { 
     $selected$ $end$ 
    } //end method $name$]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

나는 그것을 개선 할 수있다 확신 해요,하지만 당신은 단지 pvtm를 입력하고 탭 짜잔을 칠 수있다! 당신은 전체적인 방법을 얻습니다. 다시 VB 편집기와 같지 않지만 꽤 가깝습니다. 어떤 사람들은 더 잘 말할지도 모른다.

이것은 오래된 스 니펫이며 VS2010에서 작동 할 것이라고 생각하지만 시도하지는 않았습니다.