ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Cpp Toolkit

作者 mccartnm ST3

Sublime Text 3+ 插件,使 C++ 开发更轻松

详细信息

  • 0.3.1
  • github.com
  • github.com
  • 5 年前
  • 2 小时前
  • 5 年前

安装

  • 总计 3K
  • Win 2K
  • Mac 374
  • Linux 909
8 月 6 日 8 月 5 日 8 月 4 日 8 月 3 日 8 月 2 日 8 月 1 日 7 月 31 日 7 月 30 日 7 月 29 日 7 月 28 日 7 月 27 日 7 月 26 日 7 月 25 日 7 月 24 日 7 月 23 日 7 月 22 日 7 月 21 日 7 月 20 日 7 月 19 日 7 月 18 日 7 月 17 日 7 月 16 日 7 月 15 日 7 月 14 日 7 月 13 日 7 月 12 日 7 月 11 日 7 月 10 日 7 月 9 日 7 月 8 日 7 月 7 日 7 月 6 日 7 月 5 日 7 月 4 日 7 月 3 日 7 月 2 日 7 月 1 日 6 月 30 日 6 月 29 日 6 月 28 日 6 月 27 日 6 月 26 日 6 月 25 日 6 月 24 日 6 月 23 日 6 月 22 日
Windows 2 0 0 0 0 0 0 2 0 0 1 0 1 1 0 0 0 0 0 1 0 1 2 0 2 0 1 0 0 0 0 0 1 2 0 0 0 0 1 0 1 0 0 0 2 0
Mac 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1

README

源代码
raw.githubusercontent.com

Cpp Toolkit

管理 C++ 代码实现的一系列实用工具集合。

免责声明:Sublime Text 不是一个完整的 C++ 集成开发环境,本插件也不是旨在成为这样一个环境。它仅仅是试图加速您通常的工作。

功能

  • 从类定义构建实现
  • 为内部成员生成 get/set 命令
  • 将实现移动到类定义之外
  • (即将推出) 为整个类构建实现

快速浏览

自动实现

许多 IDE 通过语法和预处理来利用它们对项目的内在理解,提供诸如从头文件自动在源文件中声明方法等优惠。这为开发者节省了大量时间。

Usability

获取器/设置器函数

获取器和设置器在现代 C++ 中被大量使用。因此,用户也可以右键单击成员并构建相应的函数。

目前这尽可能确定合适的签名,但不一定总是你想要的。但无论如何,这应该仍然可以加快 Sublime 文本输入速度。

GetAndSet

一个场景

假设你有如下头文件

// my_file.h
namespace my_namespace
{

class MyClass : public SomeBase
{
public:
    // ...

    void getSomeData(float bar, MyStruct::SomeEnum val = MyStruct::Value) const override;
}

现在你想将其移动到源文件中。目前,在 Sublime 中你只有有限的选项。在本插件之前,我会这样做:

  1. 将光标移至该行并按 Ctrl + C 复制整行
    • 如果定义跨越多行,我会多次按 Ctrl + L 或者用鼠标来选择所有内容
  2. 使用 Alt + O 切换到源文件
  3. 将光标移动到可以声明函数的地方
  4. 通过 Ctrl + V 粘贴头文件代码
  5. 高亮一行(如果只高亮一行,只需将光标放在该行上)并使用 Shift + Tab 来设置它
  6. 填写所有权链
  7. 内心略微感到悲哀
  8. 遍历函数并删除任何冗余,例如上面的示例中的 override;= MyStrcut::Value
  9. 最后添加括号并开始认真工作

修复方法

使用 Cpp Toolkit,工作流程是

  1. 在函数名称上右键单击以声明
  2. 转到 C++ Toolkit > 在 <源文件名>.cpp 中声明

然后.mapping! 您将被移动到源文件,所有正确的内脏和所有权都将被填写,不会有麻烦的非 const 类别或默认值,您的光标将正好位于您开始键入函数体所需的位置!

注意:目前,这与 Alt + O 快捷键类似,假定在文件系统中,头文件和实现相邻。将来,我可能会添加声明实现根或位置或类似的方法。

问题所在

最终,这个工具正在解析文件并尽可能使用即时信息,但正如任何 C++ 开发者都知道的,语言有很多注意事项,因此您可能无法每次都获得完美的签名或所有权。然而,它仍然可以帮助您朝着正确的方向前进,并大大提高输入速度。

安装

使用 Sublime Package Manager

使用以下命令进行安装。

  • Ctrl + Shift + P
  • 键入 install 并选择 Package Control: Install Package
  • 键入 CppToolkit 并选择 CppToolkit

或者只需克隆此存储库并将其放置在 Sublime 用户数据目录下的 Packages 下。

路线图

我为这个插件有许多要做的事情,我希望在业余时间完成

  1. 基本预处理,例如 #ifdef 0 ... #endif 子句
  2. Camel case/Snake case 转换,如果需要的话 这已经在令人愉快的 CaseConversion 插件中实现了
  3. 基于某种分类器的 switch 语句提取
  4. 智能注入基于源中的其他声明,而不仅仅是始终在末尾
  5. 反向实现以从给定的权限下的源到头文件中转换
  6. 将更改应用到头文件和源代码中的函数签名
  7. 成员的 Getter/Setter 函数(已实现)
  8. 使命令在源和头文件中都可用,只需要使用解析器来理解可以使用哪些命令
  9. 为选定函数设置快捷键
  10. 只需在类名上右键单击即可实现整个类(哇)