提取方法时,clion 可以使用箭头(->) 而不是点(.) 来访问结构成员吗?

Can clion use arrow(->) not dot(.) to access struct member when extracting methods?

原码:

typedef struct {
    int x;
    int y;
} Point;

int main() {
    Point point = {1, 2};

    printf("%d %d\n", point.x, point.y);
    return 0;
}

使用重构提取方法:

typedef struct {
    int x;
    int y;
} Point;

void PrintPoint(Point *point)
{
    printf("%d %d\n", (*point).x, (*point).y);
}

int main() {
    Point point = {1, 2};

    PrintPoint(&point);
    return 0;
}

但是我想要生成的PrintPoint函数是这样的:

void PrintPoint(Point *point)
{
    printf("%d %d\n", point->x, point->y);
}

CLion中是否有配置在提取方法时将(*pStru).更改为pStru->

遗憾的是,无法配置该行为。关于您的案例,CLion 跟踪器中存在错误。 https://youtrack.jetbrains.com/issue/CPP-2193 也许是时候修复它了。