iamcco / coc-flutter

flutter support for (Neo)vim
472 stars 38 forks source link

spawn函数的使用是不是应该加一个shell: true #11

Open ztsuper opened 4 years ago

ztsuper commented 4 years ago

我是windows的vim使用者,这款插件一直用不了,一开始是报spawn flutter ENNOT的错误,我看了源码,给spawn函数加了shell: true的设置,好了,但是之后再assembleDebug的阶段还是会报编译错误

iamcco commented 4 years ago

assembleDebug 是什么

ztsuper commented 4 years ago

assembleDebug 是什么 感谢如此快的回复 image 运行flutter run 之后命令行会有几个阶段,Running Gradle task 'assembleDebug'的时候会有很多编译错误,但是实际上我可以用命令行跑起来,没有这些错误,对了,我用的是fish-redux的框架,不是到是否有影响

ztsuper commented 4 years ago

image 多是一些类型判断上的错误,但是我用dartanalyzer进行校验,其实并没有这些错误

iamcco commented 4 years ago

这些错误就是 flutter run 报的

ztsuper commented 4 years ago

看上去是这样,但是事实上即使我新建一个项目,它也会卡在这里不动 image 当然这些都是在加了shell: true的前提下,如果不加这个设置,会直接报这样的错误: image

iamcco commented 4 years ago

还没在windows下测试过,周末有时间看下

iamcco commented 4 years ago

卡那里是flutter run卡的吧,新建项目第一次编译,命令行下应该也是一样吧

ztsuper commented 4 years ago

是的,还报了一堆错…… image

ztsuper commented 4 years ago

貌似是文件夹中文的原因

ztsuper commented 4 years ago

解决了中文的原因,现在当我新建一个项目的时候,我跑起来了。只是公司的项目还是不行,是因为用了fish-redux的原因吗?我用命令行是可以运行起来的,但是coc-flutter运行就是不行,报一堆错

ztsuper commented 4 years ago

当执行了flutter.run的时候,node调用了flutter run ,之后应该就托管给flutter去执行后续的工作了,可是为什么命令行可以跑起来,用coc-flutter 的命令就不行,难道是因为没有通过coc-flutter的语法检查?我用dartanalyzer分析了整个项目,并没有错误

iamcco commented 4 years ago

还不知道,flutter run的时候插件这边没有做语法检查之类的,最好可以搞个demo可以复现这个问题

iamcco commented 4 years ago

shell: true 在windows平台已经加上

ztsuper commented 4 years ago

好消息,我去掉了cwd:t,再运行flutter.run,不会报错了 image

ztsuper commented 4 years ago

虽然我不知道为什么会这样……

iamcco commented 4 years ago

打印下这个t,看下是什么,理论应该是flutter的项目根目录

ztsuper commented 4 years ago

好的……还有一个问题,它会报这样的错误,我看了一下,我的确没有这个文件,这个是什么原因,我记得dart的语言服务好像是analysis_server.dart.snapshot? image

ztsuper commented 4 years ago

总之我现在可以使用热重载了哈哈,只是如何打印cwt: t对我来说还是个难题……

iamcco commented 4 years ago

之前版本是这个,看来这个windows得加上exe判断

ztsuper commented 4 years ago

我修改了路径和文件,还是不行…… image

iamcco commented 4 years ago

更新下,文件不存在的问题应该修复了,打印 t 的话,你搜下 Dart SDK not found! 这个字符串,然后用那个函数打印

ztsuper commented 4 years ago

文件不存在的问题修复了,我打印了t,的确是项目根目录,但是现在的问题是,只要我加上cwt: t,项目就无法运行,报很多错误,去掉之后,项目能够正常运行,也许是这个配置对flutter读取包的路径产生了影响?

iamcco commented 4 years ago

不知道这是为什么,你在根目录执行执行flutter run报错么

ztsuper commented 4 years ago

不会

kennethnym commented 4 years ago

Hi, I'm getting spawn flutter ENOENT error as well. I've tried manually specifying flutter SDK path but to no avail. Seems to be related to this issue.

Edit: I'm using MacVim on latest macOS.

iamcco commented 4 years ago

@MrCreeper1008 Is that flutter command in your $PATH environment?

kennethnym commented 4 years ago

Yes

iamcco commented 4 years ago

@MrCreeper1008 Set "flutter.trace.server": "verbose" and checkout channel output.