标签: code-formatting

如何在Delphi和C#中格式化复合语句?

作为Pascal和Delphi很长一段时间的开发人员,我总是将我的开头和结尾排成一行:

begin
  if x = y then
  begin
     ...
     ...
  end
  else
    for i := 0 to 20 do
    begin
      ...
      ...
    end;
end;
Run Code Online (Sandbox Code Playgroud)

让我疯狂的是代码格式化:

begin
  if x = y then begin
     ...
     ...
  end
  else
    for i := 0 to 20 do begin
      ...
      ...
    end;
end;
Run Code Online (Sandbox Code Playgroud)

当有几个级别的复合语句时,我发现这很难读.上面的代码是可以的,因为它并不复杂,但为了保持一致性,我更喜欢所有开始和结束对齐.

当我开始使用c#时,我发现自己也在对齐花括号.C#世界的常态是什么?

编辑:

有人指出,这是一个不应该在SO上提出的问题.我不明白为什么不.我正在设置编码指南文档.我知道我会对某些事情产生一些阻力,我希望能在这里得到一些答案,所以我可以随时准备迎接这种阻力.

c# delphi coding-style code-formatting

9
推荐指数
1
解决办法
2273
查看次数

自动重新格式化继承的PHP意大利面条代码

我已经接管了一个混合的PHP4/PHP5项目,该项目已经从开发人员传给开发人员,每个项目都会让事情变得更糟.在我花费太多时间之前,我想开发一个基本标准,至少具有一致的格式.

任何人都可以推荐一个重新格式化代码的实用程序(最好是Linux或Mac OS X)吗?

如果我可以设置影响输出的参数(如制表符缩进,大括号/括号放置,何时将数组值拆分到新行等),那么这是一个好处,虽然不是至关重要的.

首选开源工具,但我也想了解您购买软件的经验.

php code-formatting

9
推荐指数
2
解决办法
4342
查看次数

如何将参数与emacs中的函数对齐?

如果我有以下内容:

func(arg1, arg2, arg3...)
func(longargarg1, longerarg2, arg3,...)
...
Run Code Online (Sandbox Code Playgroud)

如何对齐参数以便跟随它?

func(arg1       , arg2      , arg3...)
func(longargarg1, longerarg2, arg3,...)
...
Run Code Online (Sandbox Code Playgroud)

[我可以使用Mx align-regex来对齐第一个参数,但我不能用合适的正则表达式来对齐其余的参数.如果某些参数是带有逗号的字符串,则答案也会考虑到这一点.

emacs elisp code-formatting

9
推荐指数
1
解决办法
1901
查看次数

IntelliJ强制代码格式化程序根据包装设置连接行

如何在IntelliJ中重新格式化文件并加入所有拆分的行.

我知道我可以通过选择行和"连接线"来单独完成 CTRL + SHIFT + J

由于我们最近更改了代码格式化包装策略,因此我希望能够根据更新的包装设置连接所有文件中的行.(设置>代码样式>常规>右边距)

唯一的事情是IntelliJ似乎乐于根据包装设置分割线条,但是会默默地拒绝根据该设置连接线条.

IntelliJ中的强制代码格式化器连接线的问题不同,我不满意分割线或手动连接(如接受的答案所示).我希望IntelliJ自动加入行.

奖金问题:其他哪些编辑可以做到这一点?

code-formatting intellij-idea

9
推荐指数
1
解决办法
4388
查看次数

使用gq命令在Vim中自定义LaTeX(beamer)帧的格式

我希望能够使用gqVim中的组合键来格式化Beamer LaTeX幻灯片中的文本.

例如,我想gqap改变这个:

\begin{frame}{Some title}
\begin{itemize}\item first point
\item second point
\item etc. point \end{itemize} \end{frame}
Run Code Online (Sandbox Code Playgroud)

进入这个:

\begin{frame}{Some title}
  \begin{itemize}
    \item first point
    \item second point
    \item etc. point  
   \end{itemize} 
\end{frame}
Run Code Online (Sandbox Code Playgroud)

具体来说,我想遵守以下规则:

  • \item 总是从一条新线开始
  • \begin\end始终开始新的一条线
  • \begin{frame}\end{frame}始终从第1列开始
  • 环境中的环境缩进了2个空格
  • \item 在其环境中缩进2个空格

因此,我的核心问题涉及如何实现上述目标.

或者,任何有关起点或有用教程的建议都会非常有用.我也很想在有关的相对优点有任何意见formatexpr,formatprg或内部格式进行格式化等.

vim latex code-formatting beamer

9
推荐指数
1
解决办法
900
查看次数

设置Eclipse不要在接口中的方法声明之间插入空行?

我无法设置格式化程序,以免在接口中的方法之间插入空行.同时我仍然希望在类中的方法之间有空行.我找不到合适的格式化程序设置.有人能指出我正确的选择吗?

java eclipse ide settings code-formatting

9
推荐指数
1
解决办法
1221
查看次数

Visual Studio C++代码格式 - 返回类型+ classname :: func缩进

我正在使用Visual Studio 2012来开发C++代码.我习惯于格式化我的代码如下:

void
SomeThing::DoesSomething()
{
    // brilliant code 
}
Run Code Online (Sandbox Code Playgroud)

但是,当使用VS2012代码格式化程序时,它总是将我的代码转换为:

void 
    SomeThing::DoesSomething()
{
    // still brilliant
}
Run Code Online (Sandbox Code Playgroud)

有没有办法避免返回类型下面的行中的ClassName :: Func()缩进而不完全关闭自动缩进?

c++ code-formatting visual-studio visual-studio-2012

9
推荐指数
1
解决办法
745
查看次数

将Intellij IDEA代码格式规则导出到Eclipse

有没有办法生成一个与Intellij IDEA代码格式规则匹配的eclipse代码格式化程序xml?

java eclipse code-formatting intellij-idea

9
推荐指数
1
解决办法
3036
查看次数

使用空格而不是制表符进行缩进的客观原因是什么?

根据PSR-2标准,是否有客观原因使用空格而不是制表符来缩进文件,有人可以提供:

  • 事实,
  • 引用
  • 专业知识

PSR-2标准的基础?

PSR-2标准的作者想到的不仅仅是"外观和感觉",不仅仅是基于观点的东西,很多人都难以理解为什么在团队合作中空间更好.

接受答案的解释:

根据Farsides的回答:存储库事物可能是为什么空间在PSR-2中被解释为缩进工具的确切情况.PSR-2是为协助团队合作而开发的标准.行开头处的单个意外空间 - 使用制表符时 - 可能在IDE中不可见,并且可能会潜入存储库.如果有几个人在同一个文件上工作,很可能会产生不必要的冲突.使用空格而不是标签可以轻松捕捉到眼球上的这种意外空间,这可能是一个原因,为什么使用它们成为标准.

php code-formatting psr-2

9
推荐指数
3
解决办法
3499
查看次数

如何配置IntelliJ以在Scala代码库的“优化导入”上使用短程序包名称?

在一个使用IntelliJ社区版的scala项目中,我们希望每个文件使用多个包,以便我们可以使用较短的语法来引用它们:

package com.dreamlines.dragonfly
package api
package domain
package harbours

import common.entities.EsHarbour
import common.utils.date.DLDateTime
Run Code Online (Sandbox Code Playgroud)

但是,IntellJ希望强制使用完全合格的软件包名称,因此在优化导入时,它将代码更改为:

import com.dreamlines.dragonfly.common.entities.EsHarbour
import com.dreamlines.dragonfly.common.utils.date.DLDateTime
Run Code Online (Sandbox Code Playgroud)

如何配置优化导入的行为?

这应该

  • 至少保持缩短的进口量或
  • 最好最多自动缩短较长的

我想保持优化导入的其他行为,例如删除未使用的导入,添加缺失的导入,对导入进行排序。因此,我不认为不使用优化导入是一个有效的选项。


此外scalafmt,我们正在使用格式化程序,因此它可能与.scalafmt.conf此项目的外观有关:

version = 2.0.0
style = default
maxColumn = 120
continuationIndent.callSite = 2
continuationIndent.defnSite = 2
align.openParenDefnSite = false
align.openParenCallSite = false
danglingParentheses = true
indentOperator = spray
project.excludeFilters = [".*\\.sbt"]
rewrite.rules = [RedundantBraces, RedundantParens, prefercurlyfors]
unindentTopLevelOperators = true
importSelectors = singleLine
spaces.afterKeywordBeforeParen = true
lineEndings = unix
newlines.penalizeSingleSelectMultiArgList = false
newlines.alwaysBeforeElseAfterCurlyIf = …
Run Code Online (Sandbox Code Playgroud)

scala code-formatting intellij-idea scalafmt

9
推荐指数
1
解决办法
143
查看次数