在 editorconfig 中对 const 和非常量私有成员使用不同的前缀

2024-01-05

我想将 m_ 用于非常量私有成员,将 c_ 用于常量私有成员。但是,据我所知,editorconfig 不允许我为非常量成员指定规则。无论一般私有成员或 const 成员的指定顺序如何,以下内容都不起作用:

# Prefix private/protected fields with m_
dotnet_naming_rule.prefix_private_members.symbols               = private_fields
dotnet_naming_symbols.private_fields.applicable_kinds           = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private;protected;protected_internal

dotnet_naming_rule.prefix_private_members.style                 = private_prefix_style
dotnet_naming_style.private_prefix_style.capitalization         = camel_case
dotnet_naming_style.private_prefix_style.required_prefix        = m_

dotnet_naming_rule.prefix_private_members.severity              = warning

# Prefix private/protected const fields with c_
dotnet_naming_rule.prefix_const_members.symbols                 = const_fields
dotnet_naming_symbols.const_fields.applicable_kinds             = field
dotnet_naming_symbols.const_fields.applicable_accessibilities   = private;protected;protected_internal
dotnet_naming_symbols.const_fields.required_modifiers           = const

dotnet_naming_rule.prefix_const_members.style                   = const_prefix_style
dotnet_naming_style.const_prefix_style.capitalization           = camel_case
dotnet_naming_style.const_prefix_style.required_prefix          = c_

dotnet_naming_rule.prefix_const_members.severity                = warning

我该怎么办?我还尝试使用 Pascal 大小写而不是 c_ 来区分 const,但冲突仍然发生,因为字段的 Camel_case 与一般冲突。


I got PascalCase对于常数场和m_camelCase对于非常量字段。

## constant fields should be PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = error
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols  = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style    = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds   = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_style.pascal_case_style.capitalization = pascal_case

# private fields should be m_camelCase
dotnet_naming_rule.camel_case_for_private_fields.severity = suggestion
dotnet_naming_rule.camel_case_for_private_fields.symbols  = private_fields
dotnet_naming_rule.camel_case_for_private_fields.style    = camel_case_underscore_style

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_style.camel_case_underscore_style.required_prefix = m_
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case

非常量和常量字段的不同前缀似乎是一个未解决的问题(Editorconfig:无法排除 const 字段) https://github.com/dotnet/roslyn/issues/23391

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 editorconfig 中对 const 和非常量私有成员使用不同的前缀 的相关文章

随机推荐

  • 在 Java 中使用 volatile 关键字的完整示例?

    我需要一个简单的使用示例volatileJava 中的关键字 由于不使用而导致行为不一致volatile 理论部分volatile用法对我来说已经很清楚了 首先 没有保证由于非易失性变量而暴露缓存的方式 您的 JVM 可能一直对您非常友善
  • 访问VBA:根据非绑定列在组合框中查找项目

    我在 Access 表单上有一个两列组合框 表示键到代码的映射 组合框的第一列是 绑定列 即 当MyComboBox Value叫做 我需要动态设置Value我的组合框基于第二列中找到的值 例如 如果我的组合框源是 Value Code A
  • 蓝牙+模拟鼠标

    有人知道是否可以制作一个应用程序通过蓝牙模拟触摸屏鼠标或触控板 如何使 PC 或 MAC 将我识别为鼠标设备 问候 胡安 您应该查看蓝牙 HID 规范 这可能是可能的 具体取决于您用来模拟鼠标 触控板的设备堆栈 我不熟悉 Android 上
  • 由于错误 800a025e,无法完成操作

    这个错误在 IE10 11 中意味着什么 Error Could not complete the operation due to error 800a025e 我该如何调试它 它说的是这一行 this nativeSelection r
  • TabPanel 中的 gwt ScrollPanel:没有垂直滚动条

    EDIT 我通过调整组件内的大小来修复空白行为VerticalPanel 这似乎对面板尺寸产生了影响 但控制台却忽略了这一点 我不太明白怎么办 但是 我的面板仍然没有显示垂直滚动条 在 GWT 项目中 我具有以下结构 Page DockLa
  • 如何检查我是否有 Base Clearcase 或 UCM?

    我是 ClearCase 的新手 我以前用过理性协同 我们在项目中使用 ClearCase 进行版本控制 在我的旧项目中 我使用了合理的协同作用 其中我们为文件中的任何修改创建 任务 我了解到我们在 ClearCase 中有活动 我想在我们
  • 用于启用/禁用用户的 Firebase 触发器

    在 Firebase Auth 控制台中 每个用户都有一个选项 例如启用 禁用其帐户 如何在 Firebase 函数和 Android 应用程序中触发此事件 函数无法在这种事件上触发 至少现在还没有 函数只会在这些情况下触发 查看doc h
  • Java 中的函数式编程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Java 有没有一个好的函数式编程库 我正在寻找类似的东西谓词 http msdn microsoft com en us library
  • 读取调制解调器固件版本:Android

    我正在开发一个 iPhone 和 Android 中的应用程序 我需要阅读Modem Firmware Version正如 iPhone 开发人员在他身边所做的那样 我在 Internet SO 上搜索 但找不到与我的问题相关的任何内容 是
  • 在 JUnit5 (Eclipse) 中创建 TestSuite

    我在 eclipse 中创建了多个测试用例 java 文件 JUnit 的版本是 JUnit5 现在 我尝试通过 eclipse GUI 创建 Junit TestSuite 在创建过程中 我没有在可用版本中看到 JUnit5 这是我为创建
  • 浏览器中自动完成下拉菜单的样式

    例如 在许多网站上 当输入用户名时 会在显示先前输入的位置出现一个下拉菜单 以便用户可以轻松选择某些内容而不用输入 我知道您可以通过让表单或输入具有以下属性来在浏览器中关闭此功能autocomplete off 问题是当我想要它打开并且输入
  • 告诉 `endl` 不要刷新

    我的程序打印大量短行cout 作为一个稍微做作的例子 我的线条看起来有点像这样 cout lt lt The variable s value is lt
  • 使用核心数据实体更新表节标题的有效方法?

    我为我的 UITableView 使用 NSFetchedResultsController 它显示了我存储在核心数据中的一堆事件 我想做的是按相对日期 即今天 明天 本周等 对表格进行分组 每个事件都有一个开始日期 我尝试在事件实体中创建
  • 为什么索引会使查询变得非常慢?

    有一天我回答了一个question https stackoverflow com questions 5642880 slow mysql query 5642908 5642908就这样 被认为是正确的 但答案给我留下了很大的疑问 不久
  • 使用 vmap 时,Jax 不支持不可散列的静态参数

    这与这个问题 https stackoverflow com questions 65612989 jax cannot find the static argnums 经过一些工作 我设法将其更改为最后一个错误 代码现在看起来像这样 im
  • 显示替代文本时的 img 大小

    我在 HTML 页面上有一组图像 它们都设置了宽度和高度属性 img width 88 height 78 src document show 0759122435f5333493726f9f1a845490 type THUMBNAIL
  • Jest:测试类型或 null

    我有一个测试 我想测试我收到的对象值类型是否与架构匹配 问题是对于某些键我可能会收到一些东西或 null 到目前为止我尝试过这个 const attendeeSchema birthDate expect extend toBeTypeOr
  • 更改nopCommerce的连接字符串?

    我正在使用 nopCommerce 需要删除 settings txt 文件中的连接字符串并插入 web config 文件 我怎样才能做到这一点 将连接字符串从 settings txt 移出并移入 web config 的最直接方法是修
  • 过滤日期在 AngularJS 中返回 NaN-NaN-NaN

    我在下面创建的过滤器适用于 Chrome 但不适用于 Firefox 我不明白为什么 myApp filter dateCustom filter function filter return function input input gt
  • 在 editorconfig 中对 const 和非常量私有成员使用不同的前缀

    我想将 m 用于非常量私有成员 将 c 用于常量私有成员 但是 据我所知 editorconfig 不允许我为非常量成员指定规则 无论一般私有成员或 const 成员的指定顺序如何 以下内容都不起作用 Prefix private prot