标签: auto-indent

IXMLDocument.SaveToFile()使用制表符来缩进而不是空格

我有一个XML文件,最初使用空格缩进格式化(每个嵌套项目有2个空格).

当我使用IXMLDocument加载并保存此文件时,空格缩进将更改为制表符(代码#9).

这是代码:

 var
   FileName: String;
   Document: IXMLDocument;
 ...
 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.SaveToFile(FileName);
Run Code Online (Sandbox Code Playgroud)

我试图使用NodeIndentStr属性 - 没有结果:

 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.NodeIndentStr := '  ';
 Document.SaveToFile(FileName);
Run Code Online (Sandbox Code Playgroud)

也用过FormatXMLData- 没有结果:

 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.XML.Text := XMLDoc.FormatXMLData(Document.XML.Text);
 Document.Active := True;
 Document.SaveToFile(FileName);
Run Code Online (Sandbox Code Playgroud)

如何使用空格缩进而不是制表符保存?

xml delphi indentation auto-indent delphi-2010

7
推荐指数
1
解决办法
2521
查看次数

Vim:缩进标签,与空格对齐

我已经阅读了几个问题和答案:

但它们都没有为我提供解决方案.

我真的想要应用" 缩进标签,与空格对齐 "的原则,但是当谈到自动缩进时,我没有教Vim如何做到这一点.

考虑代码,假设tabstops == 3,shiftwidth == 3

(>--表示标签,.(点)表示空格):

{
>--long a = 1,
>-->--..b = 2,
>-->--..c = 3;
}
Run Code Online (Sandbox Code Playgroud)

因此,它尽可能地缩进标签,然后用空格填充其余部分.但实际上这是一种非常糟糕的方法:当有人将使用不同的标签大小读取此代码时,代码将被搞砸.这里的标签大小等于8个字符的样子:

{
>-------long a = 1,
>------->-------..b = 2,
>------->-------..c = 3;
}
Run Code Online (Sandbox Code Playgroud)

太可怕了.问题是Vim没有区分缩进和对齐.

为了使其与标签大小无关,它应该以这种方式缩进代码:

{
>--long a = 1,
>--.....b = 2,
>--.....c = 3;
}
Run Code Online (Sandbox Code Playgroud)

然后,无论选项卡大小如何,此代码看起来都会很好.例如,8个字符:

{
>-------long a = 1,
>-------.....b = 2,
>-------.....c = 3;
}
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

vim indentation alignment auto-indent

7
推荐指数
1
解决办法
1819
查看次数

Sublime文本的缩进错误

我正在尝试在Sublime Text 3中使用HTML的自动缩进功能.我在html中有一些块注释,并选择了Edit> Line> Reindent,直到它命中块注释.

尝试在这里重新举例:

<html>
<head>
<title>Testing Indent</title>
</head>
<body>
<table>
<tr>
<td>
Cell 1
</td>
</tr>
<tr>
Cell 2
<!--Block Comment Here
And a Little More Here
-->
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

它结果是这样的:

<html>
<head>
    <title>Testing Indent</title>
</head>
<body>
    <table>
        <tr>
            <td>
                Cell 1
            </td>
        </tr>
        <tr>
            <td>
                Cell 2
<!--Block Comment Here
And a Little More Here
-->
</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

html indentation auto-indent text-indent sublimetext3

7
推荐指数
1
解决办法
1399
查看次数

在Vim中使用smartindent的问题

在使用smartindent的vim中:

  1. Enter说完if语句后按
  2. 输入 {
  3. Enter两次
  4. 输入 }
  5. 如果您点击并转到上一行,则会从空行中删除缩进.

甚至vim文档都说:

如果您没有在新行上键入任何内容,除了<BS>CTRL-D然后键入<Esc>,CTRL-O或者<CR>,再次删除缩进.

有没有办法保留这个缩进而不删除它?

vim auto-indent

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

NetBeans,关闭**任何**自动缩进/自动格式化

我刚试过NetBeans,我真的很喜欢它.
但让我疯狂的是可怕的自动代码格式化!

如果我做一个缺口,我想 压痕,但NetBeans的不断直行的工具定义的格式样式- >选项- >编辑- >格式.

例如,假设我想要执行以下操作:

namespace cn {
    // this has 1 indentation
        // this has 2 indentations
        class Foo;
}
Run Code Online (Sandbox Code Playgroud)

NetBeans将其变为:

namespace cn {
    // this has 1 indentation
        // this has 2 indentations
    class Foo;
}
Run Code Online (Sandbox Code Playgroud)

当键入除了以外的任何字符时,它会自动删除2个缩进中的一个/.

有没有我错过的选项会关闭任何自动缩进?

当使用大括号关闭时,即使这样也可能会关闭非常好的缩进.

netbeans auto-indent

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

Emacs模式用于类似c语言

我正在尝试为新的模板c语言编写一个新的emacs模式,我必须将其用于一些学术研究.

我希望代码在c模式下着色和缩进,但以下情况除外:

  • 的"%"不被用作一个操作符,但在某些特定的关键字的第一个字符(例如:"%P","%作用"等)
  • 代码行不以分号结尾.

是否可以创建派生模式(来自c模式)并将其设置为忽略'%'和';'的原始目的?是否可以在没有';'的情况下使"按RET后自动缩进"功能工作?

类似的语言是否有相似的模式(带有'{}'括号,但没有分号)我可以尝试修补?

我应该尝试从头开始编写主要模式吗?

我考虑过从http://ess.r-project.org/修补R模式,但是这种模式不支持"/*comment*/"形式的注释.

我正在寻找的最重要的特性是括号缩进,即在按下RET之后在'{}'块内缩进代码(并且在没有以';'结尾的行之后没有额外缩进).部分解决方案也会有所帮助.

emacs development-environment colors indentation auto-indent

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

在Notepad ++中自动缩进HTML/Javascript

因此,几年前似乎已经提出了这个问题但是没有一个响应似乎适用于最新版本的Notepad ++ 6.2.2

我也试过使用NppAutoIndent插件无济于事.

html javascript notepad++ auto-indent

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

块中的某些注释样式会破坏Sublime Text 2中的重新缩进

在Sublime Text 2中,重新缩进(Edit - > Line - > Reindent)似乎在Javascript代码中存在某些注释样式时出错.只有单行C风格的注释(/* ... */)才能正常工作.

例如,考虑这个未缩进的代码:

$(window).load(function () {
/* Single-line C-style comment */
var $player = $('#player');
/* Multiple-line 
C-style comment */
var $player = $('#player');
// Single-line C++-style comment
var $player = $('#player');  
// Multiple-line
// C++-style comment
var $player = $('#player');        
}
Run Code Online (Sandbox Code Playgroud)

重新生成整个块应该导致:

$(window).load(function () {
    /* Single-line C-style comment */
    var $player = $('#player');
    /* Multiple-line 
    C-style comment */
    var $player = $('#player');
    // Single-line C++-style comment
    var …
Run Code Online (Sandbox Code Playgroud)

indentation auto-indent sublimetext2

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

在自动缩进时,我可以让MATLAB忽略一段代码吗?

我喜欢MATLAB"智能缩进".Ctrl-A,Ctrl-I与我硬连线.然而,在我的一些-3000-行脚本,我有一个约100行代码段,我想不被MATLAB感动.

(为什么,你问?这就是原因:

x = ...
        aaaaaaaaaaaaaaaaa ...
    - ...
        ( ...
                bbbbbbbbbbbbbb ...
            + ...
                cccccccccccccccccccccc ...
        );
Run Code Online (Sandbox Code Playgroud)

这是我的编码方式,这是两件事的区别,其中一件是aaaaaaaaaaaaaaaaa,另一件是一组括号,......等等.

那么,我如何教MATLAB不重新缩进这部分呢?

matlab editor auto-indent

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

在标签之间按Enter键后自动缩进

请查看下面的GIF:

在此处输入图片说明

我正在使用Visual Studio Code。通过按EnterCtrl+ Shift+ Enter。我可以在下一行自动缩进。

因此,我猜想有一种更方便的方法或程序包,只需按一下即可完成Enter

auto-indent visual-studio

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