簡體   English   中英

生成成員時,如何防止在 C# 的 VS 代碼中添加“private”訪問修飾符?

[英]How can I prevent the `private` access modifier from being added in VS Code for C# when generating members?

生成成員時,如何防止在 C# 的 VS 代碼中添加private訪問修飾符?

例如我有錯誤:

當前上下文中不存在名稱“foo”[Assembly-CSharp]csharp(CS0103)

在此處輸入圖像描述

我將插入符號集中在foo(); 在 cursor 的幫助下,按Ctrl+. 和 select

生成方法'MyClass.foo'

在此處輸入圖像描述

這是生成的方法:

private void foo()
{
    throw new NotImplementedException();
}

如您所見,我正在添加private修飾符。

這是我想要生成的內容,而不是上面顯示的內容:

void foo()
{
    throw new NotImplementedException();
}

我嘗試在 VS Code 中搜索privateaccessibility設置,但一無所獲。 鑒於 VS Code 非常可配置,我希望也能夠設置此配置。 如果你知道怎么做,可以和我分享一下嗎?

我不相信你所要求的今天是可能的。 訪問修飾符設置在 Roslyn here中,從這里調用。 正如您在代碼中看到的,此設置不會暴露給上面的任何層,您將獲得publicprivate

var accessibility = member.Name == memberName || generateAbstractly
      ? Accessibility.Public
      : Accessibility.Private;

鑒於今天不可能,您可以向Roslyn和/或OmniSharp提出問題以請求此功能,或者您可以考慮構建自定義 Roslyn Analyzer

有一個教程可用,其中包含有關如何提供代碼修復以快速處理違規的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM