【问题标题】:How can I type "{0}" more quickly in Visual Studio?如何在 Visual Studio 中更快地键入“{0}”?
【发布时间】:2018-04-24 19:17:51
【问题描述】:

在 C# 中,使用 string.Format()Console.WriteLine() 格式化字符串时,通常必须键入 {0}{1} 等。考虑到它的频率,这是一组尴尬的击键。但是,尽管我进行了搜索,但我找不到任何类型的速记或热键来自动将其插入 Visual Studio。有没有人想出办法来加快这个过程?

【问题讨论】:

  • 使用自动热键。
  • Macros 或许可以为所欲为。
  • 使用 C# 6,您可以简单地在字符串前放置一个 $ 并直接使用我们的变量,如下所示:string name; string msg = $"Hello {name}"; 这也比{0} 更具可读性。
  • @Lion 实际上,插值非常适合不可本地化的文本(指南 - docs.microsoft.com/en-us/dotnet/csharp/tutorials/…),如果代码必须支持多种语言,那么插值字符串的用处要小得多,因为目前不支持本地化 - @ 987654325@... 这可能是 OP 仍在使用{0} 的原因。
  • 我几乎有动力为此编写一个 VS 扩展 :)

标签: c# visual-studio hotkeys string.format console.writeline


【解决方案1】:

C#6.0 中的字符串插值的好处之一,我觉得这很有帮助。

代替:

string s = String.Format("{0} and {1}", variable1, variable2);

你可以这样做:

string s = $"{variable1} and {variable2}";

查看指南:http://www.informit.com/articles/article.aspx?p=2422807

【讨论】:

  • 很高兴知道!但这并没有解决我的问题。 $ 语法可能更容易阅读,但输入起来同样困难,因为您仍在使用花括号。我正在寻找某种快捷方式或自动完成功能。
  • 这不是 MS 提出插值的原因。此外,它仍然需要相同数量的击键。
【解决方案2】:

您可以使用我的 Visual Commander 扩展名创建以下命令 (C#) 来插入文本,然后为其分配键盘快捷键:

    EnvDTE.TextSelection ts = DTE.ActiveDocument.Selection as EnvDTE.TextSelection;
    ts.Text = "{0}";

【讨论】:

  • 买一个像样的键盘。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2011-01-09
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多