标签: auto-indent

如何根据花括号在vim中定义缩进?

我使用https://github.com/cakebaker/scss-syntax.vim在vim上突出显示SCSS(或SASS)文件的语法,这非常适用于语法高亮.但是,该插件没有附加缩进文件,并且在编写插件时遇到问题.

我想将缩进设置为如下所示:

在此输入图像描述

但是,如果我这样做gg=G,我得到:

在此输入图像描述

我怀疑它不理解基于大括号的嵌套缩进.我尝试了所有不同的组合

set cindent

set nocindent

set autoindent

set smartindent

并试图使用Tab键== 4空格中的代码和Vim中的花括号后自动缩进,包括

set tabstop=2

set shiftwidth=2

set expandtab

...但嵌套大括号缩进似乎永远不会起作用.

我相信我可能想写一个自定义缩进文件,我需要的是基于嵌套级别的大括号​​的缩进.我该怎么办呢?如果某人有一个具有类似语法的文件类型的缩进文件,那么这也是很好的.

vim sass indentation auto-indent

6
推荐指数
1
解决办法
2573
查看次数

你如何调整Xcode的Objective C参数的自动缩进?

这是我的iOS应用程序的一小段代码:

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you like my hat?"
                                                    message:@"If so, please help spread the word by rating our app now?"
                                                   delegate:nil
                                          cancelButtonTitle:@"No Thanks"
                                          otherButtonTitles:@"Sure!", @"Maybe Later", nil
                          ];
Run Code Online (Sandbox Code Playgroud)

为什么Xcode缩进行如此血腥?作为一个旧的Perl,Ruby和JavaScript猴子,我更倾向于手动缩进它,如下所示:

    UIAlertView *alert = [[UIAlertView alloc]
        initWithTitle:     @"Do you like my hat?"
        message:           @"If so, please help spread the word by rating our app now?"
        delegate:          nil
        cancelButtonTitle: @"No Thanks"
        otherButtonTitles: @"Sure!", @"Maybe Later", nil
    ];
Run Code Online (Sandbox Code Playgroud)

所以参数名称和值都是左对齐的,并且只缩进一个级别(对我来说是4个空格).这使用了更少的屏幕空间,而且我不太可能在MacBook Air上处理包装线(这使得最右边的缩进内容甚至更难阅读).

但是,我认为Apple更喜欢第一种方法,因此有Xcode缩进.还是有吗?

所以我有两个问题:

  • 您更喜欢在Objective C代码中缩进方法参数?
  • 你如何调整Xcode以使用您喜欢的缩进样式进行格式化?

不试图在这里开始圣战; 我更喜欢Objective-C程序员中最好的做法,Xcode如何帮助实现这些做法,并找出Xcode是否有充分理由采用默认方式.


更新:评论者和答案指出默认格式在冒号处对齐参数.我应该记得在张贴之前,因为我当然注意到了它,当最长的项目没有缩进时,它看起来很漂亮.但我发现,通常情况下,最长的项目缩进很多.例如: …

formatting objective-c indentation auto-indent xcode4

6
推荐指数
1
解决办法
3540
查看次数

使用 Visual Studio 2017 在 C# 中的新行上对齐函数参数

当我将函数参数放在新行上时,我希望函数参数能够像这样自动缩进

        using (MemoryMappedFile memoryMappedFile = MemoryMappedFile.CreateOrOpen("Global\\PointCloudData", 
                                                                                 capacity, 
                                                                                 MemoryMappedFileAccess.ReadWrite, 
                                                                                 MemoryMappedFileOptions.None, 
                                                                                 HandleInheritability.Inheritable))
Run Code Online (Sandbox Code Playgroud)

但他们总是这样排列

            using (MemoryMappedFile memoryMappedFile = MemoryMappedFile.CreateOrOpen("Global\\PointCloudData", 
                capacity, 
                MemoryMappedFileAccess.ReadWrite, 
                MemoryMappedFileOptions.None, 
                HandleInheritability.Inheritable))
Run Code Online (Sandbox Code Playgroud)

我已经设法在 Visual Studio 2017 Enterprise 上的 C++ 中获得此行为,但在 C# 的任何地方都找不到它。Visual Studio 是否允许这样做?如果没有那就奇怪了,但我查了一下,根本找不到。

c# formatting auto-indent visual-studio-2017

6
推荐指数
0
解决办法
1333
查看次数

Visual Studio Code 在多行上对齐函数参数

如果 Javascript(或 Typescript)函数签名具有多行参数(在 Typescript 中很容易发生,类型名称较长),则 Visual Studio Code 在我点击后会像这样缩进return

在此输入图像描述

我更喜欢它排列论据,如下所示:

在此输入图像描述 在此输入图像描述

是否有某个设置可以自动执行此操作,这样我就不必手动缩进代码?

(我也想对函数调用执行此操作。)

javascript code-formatting indentation auto-indent visual-studio-code

6
推荐指数
1
解决办法
3397
查看次数

如何修复复制/粘贴 Xcode 上损坏的缩进

将 xcode 升级到 v.11 后,当我复制/粘贴代码时,缩进消失了。下面的示例显示了我复制代码时的外观。有人知道如何解决这个问题吗?

public func configure(_ view: WithdrawelView) {
        view.paySumLabel.text = self.pay
        view.expensesSumLabel.text = self.expenses
        view.refundSumLabel.text = self.refund
        view.taxLastYearSumLabel.text = self.taxLastYear
        view.futureWithdrawelSumLabel.text = self.futureWithdrawel
        view.balanceSumLabel.text = self.balance
    }
public func configure(_ view: WithdrawelView) {
           view.paySumLabel.text = self.pay
           view.expensesSumLabel.text = self.expenses
           view.refundSumLabel.text = self.refund
           view.taxLastYearSumLabel.text = self.taxLastYear
           view.futureWithdrawelSumLabel.text = self.futureWithdrawel
           view.balanceSumLabel.text = self.balance
       }
Run Code Online (Sandbox Code Playgroud)

auto-indent swift xcode11

6
推荐指数
1
解决办法
1322
查看次数

如何在 Visual Studio 2019 中关闭自动缩进?(不是视觉工作室代码)

在此处输入图片说明

我通常使用逗号,来设置与上面的 gif 相同的变量类型。

但问题是当我Enter在写入第二个变量后点击时,VS 会自动断线。

作为正式的 Atom 用户,这有点乏味,因为在 Atom 中,无论缩进数字是多少,它都不会断行。(我当前的缩进数是 2。)

我更改并测试了 中的所有选项Tools > Options > Text Editor > Basic > Tabs,但这些选项都没有关闭断线。即使禁用漂亮的聆听也不起作用。

如何关闭此功能?

tabs indentation line-breaks auto-indent visual-studio

6
推荐指数
1
解决办法
1230
查看次数

vim phpdoc multiline comment autoindent

假设我有一个这样的评论块:

/**
 * comment
 * comment
 * comment
 */
Run Code Online (Sandbox Code Playgroud)

当我在这个块中打开一个新行时,我希望vim启动它

/**
 * comment
 * _
 * comment
 * comment
 */
Run Code Online (Sandbox Code Playgroud)

但是标准(ubuntu)vim脚本中的autoindent开始一个空行,如下所示:

/**
 * comment
 _
 * comment
 * comment
 */
Run Code Online (Sandbox Code Playgroud)

是否有一个修改过的脚本或命令会使vim这样做(我记得几年前我有这个功能,但现在不能google)?

TIA.

vim phpdoc auto-indent

5
推荐指数
1
解决办法
1004
查看次数

NetBeans不知道如何格式化JS代码,我该如何修复?

当然,像NetBeans一样功能强大的IDE并不是一件容易的事,但是因为我只是在输入代码,所以这就是它如何格式化它:

$(document).ready(function() {
    if (someVar > 2)
        {
            complain('that is not how you indent braces');
        }
        else if (someVar == -1)
            complain('this is not right either!');
        else
            {
                complain('but it did auto outdent the else which is smart');
                complain('smart indeed');
            }
});
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题,因此格式如下:

$(document).ready(function() {
    if (someVar > 2)
    {
        // this is how it's done
    }
    else if (someVar == -1)
        // this is right
    else
    {
        // correct
    }
});
Run Code Online (Sandbox Code Playgroud)

netbeans indentation auto-indent

5
推荐指数
1
解决办法
2476
查看次数

Emacs中的Scala模式缩进

在Emacs中编写Scala代码时,我注意到以下缩进问题:

List(1,2,3).foreach{ x =>
Run Code Online (Sandbox Code Playgroud)

然后按Enter键.

然后关闭括号,这就是最终发生的事情:

List(1,2,3).foreach{ x =>
                  }
Run Code Online (Sandbox Code Playgroud)

虽然这是一个特殊示例,但在Emacs中自动缩进时,此问题会以多种方式出现.

对这两个问题中的任何一个问题的答案将不胜感激:

  1. 如何解决这个问题,以便将支架放在适当的位置,并且支架内的任何东西都向右缩进一级?

  2. 是否可以禁用这种类型的自动缩进(即像vi中的'set noautoindent').我尝试了像这里建议的解决方案:在Emacs中全局禁用自动缩进而没有成功.

提前致谢!

emacs scala indentation auto-indent

5
推荐指数
1
解决办法
1307
查看次数

如何在复制粘贴后禁用自动选项卡缩进更改?

当我复制一段代码并将其粘贴到IDE中的其他位置时,我的自定义代码缩进级别会自动由Visual Studio更改.我该如何防止这种情况?

例:
在此输入图像描述

我当前的标签设置是:
在此输入图像描述

我想继续使用智能缩进功能和实际制表符(而不是空格而不是空格).我只想防止这种特殊行为.

tabs copy-paste indentation auto-indent visual-studio-2012

5
推荐指数
1
解决办法
3669
查看次数