如何在Visual Studio中禁用自动插入的内联键工作?

时间:2017-04-06 04:08:06

标签: c++ visual-studio visual-studio-2015

除了一件事,我喜欢Visual Studio 2015的移动定义位置重构功能。 它会在函数定义之前自动插入inline关键字。 所以我总是不得不自己将它们删除。

就是这样。

重构之前。

class GameLoop
{
public:
    void drawGame() {

    }
};

重构后(移动定义位置)

//GameLoop.h
class GameLoop
{
public:
    void drawGame();
};
//GameLoop.cpp
inline void GameLoop::drawGame() {

}

有人知道如何停用此自动inline关键字吗?

感谢。

谁不知道这个功能在哪里。

  1. 将光标移动到您想要重构的方法

  2. [编辑] - > [重构] - > [移动定义位置]

    1. Ctrl +。快捷方式,然后选择移动定义位置

1 个答案:

答案 0 :(得分:1)

根据 https://docs.microsoft.com/en-us/cpp/ide/refactoring/move-definition-location?view=msvc-140 看起来好像它的功能是从源文件移动到头文件,反之亦然。

然而,源文件中非模板函数的 inline 关键字 - 正如您所描述的 - 在语义上是正确的,因为类定义中的函数定义是隐式内联的,但这并不是真正理想的行为。 我同意。 我想您可以将此作为改进问题发布给 VS 开发人员。

顺便说一句,我观察到的模板函数是(在 VS2019 中):

  1. 在头文件中将函数定义从类体内部移到类体外部。
  2. 将函数定义从类体外部移回内部。
  3. 在头文件中来回切换。

在我看来,这种行为更有价值。