dart-native / codegen

Generator for dart_native bindings. Codegen can transform native SDK to Flutter plugin.
BSD 3-Clause "New" or "Revised" License
79 stars 3 forks source link

用codegen把oc的代码转成dart的代码,会把我好多代码注释掉。 #33

Closed dongzhenggang123 closed 4 years ago

dongzhenggang123 commented 4 years ago
截屏2020-07-13 下午5 32 45
yulingtianxia commented 4 years ago

@dongzhenggang123 能描述的详细一点么?

dongzhenggang123 commented 4 years ago

@yulingtianxia 我用命令把oc的生成dart的代码后,比如截图上面createState里面我原本代码是return _selectTimeState(),结果前面加了个TODO的注释。class _selectTimeState个也被注释了,还有下面int _rightIndex = 这个也被注释掉了。整个项目里类似的情况比较多。

yulingtianxia commented 4 years ago

@dongzhenggang123 我大概猜到原因了。生成 dart 代码后,codegen 会自动调用 flutter format 来格式化生成的代码。而你应该是直接把代码生成到你的工程目录里,于是此目录下就有你自己的文件被格式化。

可以麻烦用 flutter format . 命令在你工程目录下跑下来验证我的猜想。

dongzhenggang123 commented 4 years ago

@yulingtianxia 谢谢啦,确实是这个原因,请问有方法避免这个吗。

yulingtianxia commented 4 years ago

代码格式化工具是官方提供的,你这种情况我没碰到过,有可能是 dart 的一个Bug,亦或是你的代码风格本身也有优化的空间。我这边能想到的一个workaround是:使用codegen时输出dart目录设为一个其他位置的空目录,然后再手动把生成的代码拖到你工程里。

dongzhenggang123 commented 4 years ago

@yulingtianxia 好的,谢谢。