微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为新成员更改模板

如何解决为新成员更改模板

当我在 Visual Studio (2019) 中进行重构并说“生成字段”时,认情况下它总是在新字段之前添加“私有”关键字。我不要这个。如何修改此行为?

我不确定此功能是由 Visual Studio 本身提供还是由 roslinator 提供。

private int foo; // no!
int foo; // yes!

enter image description here

解决方法

如果您进入 Tools|Code Snippets Manager... 菜单:

Code Snippets Manager... menu

它将打开代码片段管理器。

  • 在语言下拉菜单中选择 CSharp
  • 在树中转到 Refactoring|Generate field

code snippets manager

它会给你代码片段的位置,在我的机器上(法语语言环境)是:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC#\Snippets\1033\Refactoring\GenerateField.snippet

然后您可以编辑文件以将可访问性更改为所需的值。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>Generate Field</Title>
            <Description>Snippet for the field created by the 'Generate Field' refactoring</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Refactoring</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal Editable="true">
                    <ID>accessibility</ID>
                    <!-- put public here,actually on my machine it is already public -->
                    <Default>public</Default>
                </Literal>
                <Literal Editable="true">
                    <ID>modifiers</ID>
                    <Default></Default>
                </Literal>
                <Literal Editable="true">
                    <ID>type</ID>
                    <Default>type</Default>
                </Literal>
                <Literal Editable="true">
                    <ID>signature</ID>
                    <Default>signature</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp">
                <![CDATA[$end$$accessibility$ $modifiers$ $type$ $signature$;]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

但您也可以基于此创建自己的代码段,将其命名为“生成公共字段”并按照 here 所述进行注册。

编辑:

我在 Roslynator sources 中没有找到任何关于此的信息。它绝对看起来像一个 VS quick action。 Roslyn/VS 中存在一个关于类似 here 的错误,并且与 a bug that impact many quick action 相关。 这个错误已被修复。看起来你只需要配置你的编辑器:

将以下内容添加到项目根目录下的 .editorconfig 文件中: dotnet_style_require_accessibility_modifiers = omit_if_default:suggestion

查看 dotnet_style_require_accessibility_modifiers here 的选项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。