c++ - Xcode 中的缩进错误

标签 c++ xcode ide indentation auto-indent

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

去年关闭。




Improve this question




我最近遇到过几次这种情况。我无法找出导致它的原因,但是如果有一行带有 cout 就会发生这种情况。陈述。当然,并非总是如此,这有点罕见,但是当它发生时,它是由以 cout 开头的行引起的。 .

它是这样工作的:在“错误”之后 cout行,Xcode 会自动将代码缩进一两级。每次我按回车键开始写新行时,代码都会不必要地缩进。代码本身没有任何问题,没有语法错误或任何其他问题。只是一个简单的cout << someString << endl;线。但是如果我去掉那行,或者把它注释掉,Xcode 会使用适当的缩进量,所以一切都会恢复正常。如果我取消注释,以下几行的缩进将再次搞砸。即使我删除了整个代码部分并重新编写它(以防其中有一个时髦的隐形 unicode 字符或其他东西),也会发生同样的事情。

最烦人的是,这不能很容易地重现。我经常编写 C++ 代码,并且在完全不相关的上下文中(不同的项目、不同类型的代码等)只遇到过两三次这种情况。唯一的共同点是它总是一个 cout与以下行的缩进混淆的语句。

顺便说一句,我最近在我的 mac 上全新安装了 OS X,并从 Mac App Store 下载了一个新的 Xcode 拷贝,所以我认为没有任何损坏或其他东西。

有没有其他人注意到这一点?我似乎无法在互联网上找到任何类似的内容。我应该就此事联系Apple吗?

编辑 (2015. 11. 29.):

该问题在 OS X 10.11.1 上的 Xcode 7.1.1 中仍然存在。这是一张图片:

Code

如您所见,cout 后面的行的缩进线路乱了即使我选择整段代码并选择“重新缩进”,Xcode 也不会修复它。事实上,即使我手动修复它,“重新缩进”选项也会将其恢复到这种困惑状态。同样,这发生在我完全不同的项目中,所有项目都是在不同时间在不同版本的 Xcode 上创建的。自从我最初发布这个问题以来,我已经重新安装了 OS X(干净!),并且事情没有改变。这就是为什么我确定这是 Xcode 本身的某种错误。

最佳答案

我可以确认这个错误仍然存​​在于 Xcode 版本 9.3 (9E145) 中。考虑以下测试代码片段:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;


class Date
{

private:

    int Day;
    int Month;
    int Year;
    string DateInString;

public:

    Date(int InputDay, int InputMonth, int InputYear):
    Day (InputDay), Month (InputMonth), Year (InputYear) {};

    operator const char*()
    {
        ostringstream formattedDate;
        formattedDate << Day << " / " << Month << " / " << Year;
        DateInString = formattedDate.str();
        return DateInString.c_str();
        }

        };


        int main()
        {
            Date Holiday (25, 12, 2011);
            cout << "Holiday is on: " << Holiday << endl;
            return 0;
        }
formattedDate << Day << " / " << Month << " / " << Year;导致错误的缩进。注释掉后,Xcode 可以正确地重新缩进代码。

关于c++ - Xcode 中的缩进错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189254/

相关文章:

c++ - 二进制 PLC 通信的校验和

php - 开源在线 IDE

c++ - 如何判断 `constexpr`是否在编译时求值(无需人工检查)

c++ - forward 将先前声明为类的类型声明为结构

c++ - 寻找使用离散值计算高斯曲线最大值的 C/C++ 库

iphone - 迭代嵌套 JSON 数组 iPhone

ios - 如何以横向模式播放视频但应用程序仅支持纵向模式?

ios - 当我使用 CocoaPods 时“没有这样的模块”

java - Eclipse 将 java 项目 src 文件夹 View 显示为所有包和子包

javascript - 如何将 api 添加到 Visual Studio Code