- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我们的编码风格规定,如果赋值不适合一行,但赋值本身适合一行,我们应该将该行缩进四个空格而不是两个。示例:
my_var = Some.reasonable_method_call(param1)
my_var2 =
Some.crazy_long_ridiculous_method_that_doesnt_fit_on_same_line(param1)
有没有Rubocop我可以用来执行此规则吗?我们在一个 block 内使用两个空格的缩进,而用于长赋值的四个空格缩进有助于直观地表明该行不是嵌套在一个 block 中,而是上一行的延续。
最佳答案
查看 rubocop 源代码后,参数对齐规则似乎在 /lib/rubocop/cop/style/align_parameters.rb line 34:
def base_column(node, args)
if fixed_indentation?
lineno = target_method_lineno(node)
line = node.loc.expression.source_buffer.source_line(lineno)
indentation_of_line = /\S.*/.match(line).begin(0)
------> indentation_of_line + configured_indentation_width
else
args.first.loc.column
end
end
configured_indentation_width
定义在 lib/rubocop/cop/mixin/autocorrect_alignment.rb 第 10 行:
def configured_indentation_width
-> config.for_cop('IndentationWidth')['Width']
end
该变量存储在 /config/default.yml
中,这将要求您的所有代码都设置为 4 个空格而不是 2 个(类似于 Python PEP8)。
否则,您可以只修改 rubocop 的源代码,以便在多行参数分配/方法调用中始终需要 4 个空格。
另一个(更好的)选项是修改源代码,但添加对配置变量的引用,这样您就不会使用硬编码值。
关于ruby - Rubocop 规则在下一行进行赋值时强制双缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29237164/
我正在查看 rubocop,但想从警告和错误开始——我们稍后会讨论与约定相关的警报。我的问题是:如何调用 rubocop,它会忽略与约定相关的警报并仅报告警告、错误和致命消息。 谢谢迈克尔。 最佳答案
我有一个很大的遗留代码库,我想开始处理警告。我怎样才能让 rubocop 只向我显示警告(以 W: 开头的行)或更糟糕的情况,并抑制所有约定(以 C: 开头的行)? 最佳答案 利用--display-
问题 当只发现警告时,是否可以告诉 Rubocop 返回 0 作为退出代码? 先决条件 我正在使用以下命令在 Travis CI 上运行 Rubocop: bundle exec rubocop 我有
我安装了 gem rubocop .当我运行时: 命令rubocop终端响应: longnguyen:~/RubyOnRails/project$ rubocop cannot load such f
我试图让 Rubocop 警告在 Sublime Text 3 中显示为代码标记。我正在使用 SublimeLinter和 SublimeLinter-rubocop包裹。 (类似的 RuboCop
我刚刚将一个 Ruby on Rails 项目克隆到我的本地机器上以进行处理。我已经运行了命令 bundle install为了安装项目所需的所有必要的 gem 和依赖项。 但是我的日志消息中不断弹出
我已经为 VSCode 安装了 ruby-rubocop,并且 gem 安装了 rubocop,但是每次保存文件时,都会抛出这个错误: cannot load such file -- r
最近我在 vscode 上安装了 rubocop。但是,它不起作用。错误消息如下。 rubocop is not excutable execute path is empty! please che
在我的 .rubocop.yml 中有一些用于禁用某些样式警察的配置。 Documentation: Enabled: false ClassAndModuleChildren: Enable
我想对匹配的文件名禁用全局行长度检查 *_spec.rb Rubocop 中的(Serverspec 文件)。 我尝试添加 Exclude至 config/default.yml按照以下方式,但它不起
我只想在终端上为我在 git 版本化项目中修改的行运行 rubocop。目前,通过谷歌搜索,我看到了适用于整个修改文件的脚本。 我找到了 this但我从文档中了解到它显示了误报和否定。 最佳答案 Pr
我正在用 python 编写一个 git-hook,它会对推送到存储库的文件进行 lints,如果文件未通过 linting 要求,则拒绝推送。我已经使用 php 代码嗅探器为 php 编写了一个类似
request_url ||= URI_FORMATS[:home_page] % { base_uri: AppConfig.test_api['base_url'],
查看旧的 Rubocop 配置: ... Style/AlignParameters: Description: Align the parameters of a method call if
我们的编码风格规定,如果赋值不适合一行,但赋值本身适合一行,我们应该将该行缩进四个空格而不是两个。示例: my_var = Some.reasonable_method_call(param1) my
我希望 rubocop 总是只缩进一次。此外,elsif 和 end 根本不应该缩进。所以像这样: @shop = api .shop('de')['storefronts']
我正在清理我继承的一些代码,有这一行,但老实说,我不确定 rubocop 试图告诉我的是什么错误。 total_cost = tmp_totals.inject { |total, tmp_val
我们想使用 Rubocop 来验证我们的 ruby 在语法上是否正确并遵循基本代码指南。 除此之外我们有这个规则:我们使用制表符缩进以允许任何人决定他们希望如何呈现它们(将它们显示为 2 或 4
我有一个 ruby 代码库,我运行它来查找缺陷 $ rubocop 我明白了 $ rubocop Inspecting 153 files CCCCCCCCCCCCCCCCCCCCCCCCCCCC
我很清楚 rubocop 遵循的规则来查找配置文件或它用来构建它使用的警察列表的文件——这里有解释:RuboCop Configuration 但是,规则允许多种不同的可能性,我正在寻找的是某种方法让
我是一名优秀的程序员,十分优秀!