标签: code-formatting

3
推荐指数
1
解决办法
7052
查看次数

Intellij IDEA - 如果有多个方法参数,则强制每个方法参数在其自己的行上

我想这样格式化我的 Java 方法:

public void methodWithOneParameter(final String one) {
   ...
}

public void methodWithMultipleParameters(
     final String one,
     final String two) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

不考虑硬包裹设置。这可能吗?
我在2018.2 EAP(最新)

java code-formatting intellij-idea

3
推荐指数
1
解决办法
1159
查看次数

VSCode 会自动将多行代码格式化为一行代码

我非常喜欢自动格式化代码的想法。您可以使用 eslint 规则来配置您喜欢的代码风格。但一些隐藏规则导致了我不喜欢的情况:内联文档销毁道具或 jsx 模板元素属性。

示例(这就是我想要的)。

const {
  foo: 1,
  bar: 2,
  baz: 3,
} = require('qux')
Run Code Online (Sandbox Code Playgroud)

这是 VSCode 或其某些插件如何重新格式化它的方式(不确定)

const { foo: 1, bar: 2, baz: 3 } = require('qux')
Run Code Online (Sandbox Code Playgroud)

当行长度超过某个指定限制时,将其重新格式化回多行是绝对可以的。

JSX 示例(尝试使用使用生成的新项目react-create-app)。

  1. 好的,这行太长了,因此 VSCode 将其重新格式化为多行

    <a
      className="App-link"
      href="https://reactjs.org"
      target="_blank"
      rel="noopener noreferrer"
    >
    
    Run Code Online (Sandbox Code Playgroud)
  2. 线条长度不会超过允许的长度,但我仍然喜欢这种风格

    <a
      className="App-link"
      href="https://reactjs.org"
    >
    
    Run Code Online (Sandbox Code Playgroud)
  3. 但 VSCode/plugin 有不同的偏好,并将其重新格式化为

    <a className="App-link" href="https://reactjs.org">
    
    Run Code Online (Sandbox Code Playgroud)

我试图找到一个特定的 eslint 规则来解释这种行为,但没有成功(未找到)。我尝试将默认的 vscode 格式化程序从 更改为prettier-null没有成功。

对我来说还有一件奇怪的事情:VSCode 不会突出显示它将重新格式化的代码片段。

那么如何解决呢?

更新

我希望 VSCode 在此类代码部分中做的唯一一件事就是将一行分成多行,以防该行超出eslint max-len值。

javascript code-formatting jsx visual-studio-code prettier

3
推荐指数
1
解决办法
6297
查看次数

我怎样才能用intellij在javascript中使模板文字更漂亮

我在 JavaScript 中使用模板文字

let innerHTML = `<div><span>like this</span></div>`;
Run Code Online (Sandbox Code Playgroud)

是否可以像intellij中的jsx一样自动缩进或更漂亮?

当我按 [ ctrl + alt + l ] 时,什么也不改变

我想自动设置这种格式

let innerHTML = `<div>
                     <span>
                         like this
                     </span>
                 </div>`;
Run Code Online (Sandbox Code Playgroud)

是否可以?

javascript code-formatting intellij-idea

3
推荐指数
1
解决办法
3811
查看次数

可以使用 IntelliJ IDEA 代码样式规则而不是 Prettier 插件来应用 Prettier 规则吗?

我有一个项目,其中包含一些 TypeScript 文件,我想在 IntelliJ IDEA 中编辑时使用Prettier格式对其进行格式化,以便我生成的代码与同事的代码相匹配。理想情况下,我只想重新格式化我正在更新的文件部分,以便我的提交可以集中于我的实际更改。

对于 IntelliJ IDEA 中的其他项目,我通常会使用内置的代码格式化和代码样式规则来格式化我的代码。内置的 TypeScript 规则与 Prettier 规则不匹配,并且不清楚这些规则是否以我可以导入的 IntelliJ 格式发布在任何地方。

为此,我研究了Prettier IntelliJ IDEA 插件。然而,使用这个插件需要一些开销;最值得注意的是,它需要安装 Node.js。

有没有一种简单的方法可以通过标准 IntelliJ 重新格式化功能来使用 Prettier 规则?

code-formatting intellij-idea typescript prettier

3
推荐指数
1
解决办法
5137
查看次数

#ifdef #else #endif宏问题

我是C的新手,我正在维护代码.我在头文件中遇到过这个问题.我可以理解,如果源代码是在windows上编译的,它将进入if语句,如果代码在linux上编译,它将进入else语句.如果我错了,请纠正我.

但是,问题是为什么#(hash)在所有include头之前使用?

非常感谢任何建议,

#ifdef WIN32
#   include <conio.h>
#   include <process.h>
#   include <stdlib.h>
#   include <string.h>
#else
#   include <unistd.h>
#   include <termio.h>
#   include <sys/types.h>
#   include <sys/stat.h>
#   include <fcntl.h>
#endif
Run Code Online (Sandbox Code Playgroud)

c code-formatting

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

如何在C#中将其更改为String.Format

原版的

string strCommandLineArgs = (((("-i" + " ") + strVideoPath + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s ") + intWidth.ToString() + "x") + intHeight.ToString() + " ") + strImagePath + " -ss 2";
Run Code Online (Sandbox Code Playgroud)

我做到了这一点

string strCommandLineArgs = string.Format("-i {0} -vcodec mjpeg -vframes 1 -an -f rawvideo -s {1}x{2} {3} -ss 2", strVideoPath, intWidth, intHeight, strImagePath);
Run Code Online (Sandbox Code Playgroud)

我无法找到使用()字符串的区别.

c# string command-line ffmpeg code-formatting

2
推荐指数
1
解决办法
86
查看次数

Eclipse强制执行严格的Java代码格式化

确保Java代码遵循严格的格式设置准则的最佳方法是什么.它需要是可配置的,以便我们可以执行我们自己的指南(主要基于太阳队原始指导文件).

我厌倦了即使在不同方法中的类也有不同的格式,具体取决于改变该特定方法的开发人员.

当我说严格时,我的意思是,绝对一切都被格式化为标准.

java eclipse code-formatting

2
推荐指数
1
解决办法
1710
查看次数

格式化长模式匹配

我希望格式化这个功能:

getEnv :: [Func] -> ([Char] -> RetType)
getEnv [] = (\_ -> undefined)
getEnv ((Func (RetTypeType t) (Ident fname) _ _):fs) = (\x -> if x == fname then t else getEnv fs)
Run Code Online (Sandbox Code Playgroud)

问题是由长模式匹配引起的,现在我不想更改构造函数的名称.此外,第三行功能的右侧部分对我来说也不容易格式化.

虽然不是生死攸关的问题,但我很好奇你如何格式化这段代码.谢谢.

haskell code-formatting

2
推荐指数
1
解决办法
141
查看次数

在JS中打破长线的最佳实践

我在这里读了几篇关于这个主题的帖子,但我仍然不确定如何处理这个问题.

事实上,源代码中的行更长,例如

console.log("html : "+"<li><a href=\""+el.find("link").text()+"\">"+el.find("title").text()+"</a>");
Run Code Online (Sandbox Code Playgroud)

打破它

console.log("html : "
  +"<li><a href=\""
  +el.find("link").text()
  +"\">"
  +el.find("title").text()
  +"</a>");
Run Code Online (Sandbox Code Playgroud)

一切仍然正常,但JSLint告诉我" 在'+'之前坏线断线 "

什么是最佳实践,建议保持源人类可读的方法(生产代码将缩小).

javascript code-formatting

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