生成成员时,如何防止在 C# 的 VS Code 中添加 `private` 访问修饰符?
How can I prevent the `private` access modifier from being added in VS Code for C# when generating members?
如何防止在生成成员时在 VS Code for C# 中添加 private
访问修饰符?
例如我有错误:
The name 'foo' does not exist in the current context [Assembly-CSharp]csharp(CS0103)
我在光标的帮助下将插入符聚焦在 foo();
,按 Ctrl+.
和 select
Generate method 'MyClass.foo'
这是生成的方法:
private void foo()
{
throw new NotImplementedException();
}
如您所见,我正在添加 private
修饰符。
这里是我想要生成的而不是上面显示的那个:
void foo()
{
throw new NotImplementedException();
}
我尝试在 VS Code 中搜索 private
、accessibility
设置,但一无所获。鉴于 VS Code 非常可配置,我希望也能够设置此配置。如果你知道怎么做,可以分享给我吗?
我不相信你所要求的在今天是可能的。访问修饰符在 Roslyn here, which is called from here 中设置。正如您在代码中看到的,此设置未暴露给上面的任何层,您将获得 public
或 private
:
var accessibility = member.Name == memberName || generateAbstractly
? Accessibility.Public
: Accessibility.Private;
鉴于今天不可能,您可以通过 Roslyn and/or OmniSharp to request this functionality, or you could look at building a custom Roslyn Analyzer 提交问题。
有一个 tutorial 可用,其中包含有关如何提供代码修复以快速处理违规的信息。
如何防止在生成成员时在 VS Code for C# 中添加 private
访问修饰符?
例如我有错误:
The name 'foo' does not exist in the current context [Assembly-CSharp]csharp(CS0103)
我在光标的帮助下将插入符聚焦在 foo();
,按 Ctrl+.
和 select
Generate method 'MyClass.foo'
这是生成的方法:
private void foo()
{
throw new NotImplementedException();
}
如您所见,我正在添加 private
修饰符。
这里是我想要生成的而不是上面显示的那个:
void foo()
{
throw new NotImplementedException();
}
我尝试在 VS Code 中搜索 private
、accessibility
设置,但一无所获。鉴于 VS Code 非常可配置,我希望也能够设置此配置。如果你知道怎么做,可以分享给我吗?
我不相信你所要求的在今天是可能的。访问修饰符在 Roslyn here, which is called from here 中设置。正如您在代码中看到的,此设置未暴露给上面的任何层,您将获得 public
或 private
:
var accessibility = member.Name == memberName || generateAbstractly
? Accessibility.Public
: Accessibility.Private;
鉴于今天不可能,您可以通过 Roslyn and/or OmniSharp to request this functionality, or you could look at building a custom Roslyn Analyzer 提交问题。
有一个 tutorial 可用,其中包含有关如何提供代码修复以快速处理违规的信息。