您如何更改intellij自动格式化代码的方式?[关闭]


13

IntelliJ对Javascript代码进行了一些奇怪的格式化,而我正在尝试弄清楚如何使其停止格式化。每当我将jQuery函数链接在一起时,它就会缩进自动创建的代码,例如:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

我希望它看起来像这样:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

我该如何更改?


此处的修复程序对我不起作用,因此我联系了捷脑,他们开了个问题。请在这里投票:youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa'2

4
我投票结束这个问题是因为没有主题,因为它与软件工具有关,但是,它太旧了,无法迁移到Stack Overflow。

Answers:


11

正如@intarg所提到的那样。您可以更改File|Settings|Code Style|General并将Javascript选项卡上的Javascript设置Continuation Indent为0。

那将为您带来大部分所需的东西。问题是您的代码实际上是全部1个长语句。

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

不确定是否有相关的选项可以防止之后发生换行 focus(

哦,请确保在更改选项时激活了Javascript代码示例选项卡-否则,您将不会为Javascript更改它们。

编辑:现在,我已经看得更远了。在特定情况下,对Javascript格式化程序进行了编码以添加换行符,但没有选项。


这对我不起作用-如上所述,我仍然得到了横向蠕动
JonnyRaa 2015年

0

您需要在intellij中控制代码格式的所有设置都在“文件”>“其他设置”>“模板设置”中。

如果未列出Javascript(即尚未安装Javascript插件),则可以在“常规”选项卡和“其他”选项卡下定义代码格式。会有控制缩进和间距的选项。


我认为问题在于它认为.blur()中的函数是连续缩进。我阻止它执行此操作的唯一方法是将延续缩进设置为0,但这也会使其他代码看起来也很糟糕。您是否会知道一种方法来告诉它这不是延续缩进,还是内部发生了某些事情?
intargc 2011年

您是否在intellij中安装了Javascript插件?我知道有一些可用。如果您不使用它们中的任何一个,则IDE只会回退到标准的缩进/间距。理想情况下,您将使用插件使IDE意识到这些构造。
荒凉星球

你尝试过脑喷气吗?另外,您是否尝试过使用Eclipse执行此操作。我已经有一段时间没有碰过intellij了,但是我知道Eclipse已经获得了相当不错的插件支持,并且很容易控制缩进,但是intellij确实不应该有问题。
荒凉星球

由于社区版是开源的,因此您始终可以获取源代码,对其进行构建并在执行格式化的位置插入断点,以排除是否存在内部问题。如果它没有做您想要的事情,请应用修复程序并将补丁提交给一个回购所有者,如果您有时间和意愿这样做的话:)
Desolate Planet

我确实安装了javascript插件。我将尝试喷气式飞机,看看那里是否有人有线索。谢谢。
intargc 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.