0

以下 Dart 代码行在从终端运行时显示现有文件为 true,但从 IntelliJ 或 WebStorm 运行时为 false。有人可以解释为什么以及如何设置创意编辑器,以便它返回与终端运行相同的结果。

bool pathExists(String path) => new File(path).existsSync();

更新

经过修补后,我现在发现如果我使用“打开目录”在 WebStorm 5 中创建项目,它适用于所有(WebStorm、IntelliJ 和终端)。问题是当我尝试在 IntelliJ 12 中创建项目时,因为似乎没有打开目录的等效项,它似乎试图创建一个 Java 项目。目前,WebStorm 似乎对从头开始创建 Dart 应用程序有更好的支持。 有关说明,请参阅下面的答案。

4

2 回答 2

2

你真的应该展示整个程序以及如何运行它,否则我只能猜测。我的猜测是您正在传递函数的相对路径,并且您从与 IntelliJ 不同的目录运行程序。

假设我有这个 Dart 程序:

import 'dart:io';

bool pathExists(String path) => new File(path).existsSync();

main() {
  print(pathExists('books.txt'));
}

truebooks.txt文件存在于当前目录中时,该程序将打印。我碰巧在我的主目录中有这样的文件,所以当我这样做时

ladicek@argondie:~$ dart check_file.dart

它显然会打印true。但是如果我从另一个目录运行相同的程序,它肯定会打印false. 这可能就是您的情况。

您应该检查 IntelliJ 中的运行/调试配置,它允许您配置程序启动的目录。

于 2012-12-23T10:42:19.923 回答
1

关注@CrazyCoder 的评论:选择

创建新项目

然后

静态网页/网页模块

并选择您的文件夹

项目地点

然后展开

更多设置

最后确保

模块文件位置

设置为您的 main() dart 文件所在的位置。默认情况下,它设置为内容根目录。

与Open Directory具有相同的效果。我试过了,效果很好。

于 2012-12-25T03:38:45.393 回答