我可以将所有字符串默认为 C# 6.0 内插字符串连接吗?
Can I default all my strings to C# 6.0 interpolated string concatenation?
我发现自己在代码中经常使用 C# 6.0 内插字符串连接样式 $"Hello {name} {lastName}!"
。
我了解到,在引入此功能时,它需要一个单独的语法来不破坏任何包含 {}
符号的先前字符串。但是,在创建新项目时,我不介意在极少数情况下必须编写 {{
或 }}
,因为我需要字符串中的实际符号。当然,要求添加一个额外的 $
并不多,但是当我发现自己对我的大部分字符串都这样做时,我宁愿尽可能省略它。
我想要 "Hello {name} {lastName}!"
今天 "Hello John Doe" just as $"Hello {name} {lastName}!"
结果。
如何让编译器默认将所有字符串视为内插字符串?
你不能。目前没有这样的编译器设置。
您可以向 code-cracker 推荐一个分析器修复程序。
你也可以用正则表达式搜索if:(?<!$)"[^"\{]*\{
我有同样的问题,由于无法找到解决方案,我想出了一个自定义 visual studio 代码片段。这不是最初问题的解决方案,但也许对某人有帮助。
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>String interpolation</Title>
<Shortcut>1</Shortcut>
<Description>Code snippet for string interpolation</Description>
<Author>md</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>String interpolation helper</ToolTip>
<Function></Function>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[$$"$selected$$end$";]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
这样你可以按“1”然后按“TAB”得到$"";
我发现自己在代码中经常使用 C# 6.0 内插字符串连接样式 $"Hello {name} {lastName}!"
。
我了解到,在引入此功能时,它需要一个单独的语法来不破坏任何包含 {}
符号的先前字符串。但是,在创建新项目时,我不介意在极少数情况下必须编写 {{
或 }}
,因为我需要字符串中的实际符号。当然,要求添加一个额外的 $
并不多,但是当我发现自己对我的大部分字符串都这样做时,我宁愿尽可能省略它。
我想要 "Hello {name} {lastName}!"
今天 "Hello John Doe" just as $"Hello {name} {lastName}!"
结果。
如何让编译器默认将所有字符串视为内插字符串?
你不能。目前没有这样的编译器设置。
您可以向 code-cracker 推荐一个分析器修复程序。
你也可以用正则表达式搜索if:(?<!$)"[^"\{]*\{
我有同样的问题,由于无法找到解决方案,我想出了一个自定义 visual studio 代码片段。这不是最初问题的解决方案,但也许对某人有帮助。
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>String interpolation</Title>
<Shortcut>1</Shortcut>
<Description>Code snippet for string interpolation</Description>
<Author>md</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>String interpolation helper</ToolTip>
<Function></Function>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[$$"$selected$$end$";]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
这样你可以按“1”然后按“TAB”得到$"";