【问题标题】:Visual Studio 2010 - C# editor more cumbersome than VB.NET editorVisual Studio 2010 - C# 编辑器比 VB.NET 编辑器更麻烦
【发布时间】:2011-10-06 17:39:43
【问题描述】:

我以前在 VB.NET 中工作,但被要求用 C# 编写最新项目。

这很好,因为我可以使用任何一种语言工作,过去不得不经常将 C# 代码翻译成 VB,而且我对使用任何一种开发都没有疑虑。

我的问题在于 Visual Studio 编辑器,以及在编写 C# 代码时,有多少传统上在编写 VB.NET 代码时自动为我完成的任务,或者涉及更多种类的按键。

例如,创建一个新的#region 或函数...

在 VB.NET 中创建区域涉及键入 #+r,此时智能感知启动并显示 #Region。我按 space#Region 自动完成,因此允许我输入区域名称,然后单击 Enter 并自动添加关闭 #End Region

在 C# 中,我键入 #+r... 然后 nada.. 我必须单击 Ctrl + k + x 并从sn-ps列表中选择#Region达到同样的效果。

类似地,在 VB.NET 中编写函数时……自动完成功能会在几秒钟内创建结构,而 C# 则需要手动添加括号等,从而为开发过程增加宝贵的时间。 (或者可能还有另一个快捷键组合)

这只是两个示例,但还有许多其他示例,VB.NET 编辑器提供的快捷方式使编码比 C# 编辑器快得多。 实际上,我很震惊,因为 C# 经常被称赞为比 VB.NET“更好”。

不管怎样都在咆哮。

我的问题是,是否有任何插件允许在 C# 编辑器上以与提供给 VB.NET 编辑器相同的方式自动完成?

【问题讨论】:

  • 我确信 Visual Studio VB.NET 团队的人会在该团队不注意时进入并关闭 C# 端的功能。听到很多关于这些看似简单的事情的咆哮。
  • 在c#中,如果你输入#region并点击tab,它会插入#endregion并将光标放在编辑框中以输入名称。此外,您可以选择文本行,右键单击并选择“环绕...”,#region 是选项之一。所以它可能与 VB 编辑器有点不同,但并没有那么大。对于方法,只需创建一个代码 sn-p,然后您可以键入 sn-p 并按 Tab 以完全展开它。

标签: c# vb.net visual-studio-2010


【解决方案1】:

锐化器.................................................. ....................

【讨论】:

  • 看起来它可以解决问题.. 明天早上试试。谢谢! (如果有效,会将问题标记为已回答):)
【解决方案2】:

我认为您只是习惯于在 VB.NET 中编码。至于您关于 C# 被视为优于 VB.NET 的评论,我认为您需要区分语言和编辑器,因为两者本质上并没有联系在一起。

C# 可能没有提供与 VB.NET 相同的自动完成功能,但我认为生产力取决于您对语言的熟悉程度。即使没有这些自动完成功能,我在 C# 中编写代码的速度也比在 VB.NET 中快得多,这是因为我已经习惯了 C# 的行为方式,并且我知道如何使用编辑器进行操作。

老实说,我认为您需要先习惯使用 C# 进行编码,然后才能真正评估任何一种语言的编码如何影响您的工作效率。

编辑

如果您正在寻找可与 Resharper 相媲美的免费软件,我建议您查看 CodeRush Xpress。还有一个功能齐全的CodeRush 版本,零售价比 Resharper 便宜约 100 美元。

【讨论】:

    【解决方案3】:

    听起来您需要在工具...选项 > 文本编辑器 > C# 下进行一些挖掘并检查那里的配置。如果您最初将环境设置为 VB.NET,则可以从那里调整一些可能错过的内容。

    您还可以查看Visual Studio Power Tools,它提供了一些额外的自动完成括号选项,以及其他一些可以提供帮助的功能。

    【讨论】:

    • 我浏览了所有选项,所有相关选项似乎都被勾选了,但没有一个(我可以看到)用于复制我之前提到的那种功能。
    • 我的道歉,我认为括号可以在某些选项中完成和自动插入的选项下进行配置,我想。 Ctrl-K, X for Snippets 有一些区域项目和你提到的其他项目。但是,是的,它肯定缺少一些
    【解决方案4】:

    ReSharper 对 C# 做了很多,Visual Studio 已经为 VB.NET 免费做了很多。

    【讨论】:

      【解决方案5】:

      这是插入私有方法的代码sn-p:

      <?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 并点击 tab ,瞧!你得到一个完整的方法。同样,与 VB 编辑器不同,但非常接近。有些人可能会说得更好。

      这是一个旧的sn-p,我认为它可以在VS2010中使用,但我还没有尝试过。

      【讨论】:

        【解决方案6】:

        我是来自DevExpress 的 CodeRush 的大力支持者,它的用途与 Resharper 大体相似。在 Code Rush 中,如果我想放入一个区域,我选择要关闭的代码并按 Ctrl-3,然后在区域名称上使用插入符号创建区域,然后输入。它的行为也非常可对其所有模板进行配置(类似于 VS Code Snippets on steroids)。

        不过,完全公开 -- 这是一项投资,因为从 Visual Studio 2010 开始,快速版本的功能非常少。您也可以这样做或使用 ReSharper -- 可能不会两者兼而有之。我同时安装了两个,但我似乎记得它们一起玩得不是很好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-27
          • 1970-01-01
          相关资源
          最近更新 更多