在WebStorm中运行/调试CURRENT文件

Maz*_*Maz 13 javascript debugging webstorm

我有很多我想从Webstorm运行/调试的脚本,但是对于每个我必须通过"运行>编辑配置"的过程并添加映射到每个文件的新配置.

是否有变量/快捷方式告诉WebStorm运行/调试当前打开的文件?有一个像${opened-file}运行配置"模板" 一样的好东西.

谢谢.

Sta*_*rov 5

Application parameters has a macros support (plus icon in the field). You need to use $FilePathRelativeToProjectRoot$ macros.

This example runs node /node_modules/.bin/wdio wdio.local.conf.js --spec foo.js. foo.js is $FilePathRelativeToProjectRoot$

在此输入图像描述


gap*_*gap 0

我很感激你所感受到的痛苦。我也有类似的愿望。然而,可能有一种方法可以在没有它的情况下完成您想要做的事情。

我使用 Webstorm + Jasmine 进行节点开发。以下是我为获得有效的 TDD 设置而遵循的步骤:

  1. 安装 jasmine(首选项 -> 框架和框架 -> 节点或仅从 cmd 行)。
  2. 设置测试目录(例如,src/test 或 src/spec)
  3. 在测试目录的根目录中设置 jasmine.json 配置文件。我的看起来像这样:
{
  "spec_dir": "src/test",
  "spec_files": [ "**/*[sS]pec.js" ]
}
Run Code Online (Sandbox Code Playgroud)
  1. 编写测试文件:
describe('HelloWorld', function () {
  const HelloWorld = require('../HelloWorld');

  describe('#greeting', function() {
    it('should be friendly', function() {
      expect(new HelloWorld().greeting()).toEqual("Hello, World");
    });
  });
});
Run Code Online (Sandbox Code Playgroud)
  1. 设置运行/调试配置:默认节点运行程序,具有选项:

    • 选择你的节点解释器
    • 节点参数:node_modules/jasmine/bin/jasmine.js
    • 环境变量:JASMINE_CONFIG_PATH = src/test/jasmine.json(在上面的步骤4中设置)

      这会在 .idea/workspace.xml 文件中生成一个条目,如下所示:

<configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" node-parameters="node_modules/jasmine/bin/jasmine.js" working-dir="$PROJECT_DIR$">
   <envs>
     <env name="JASMINE_CONFIG_PATH" value="src/test/jasmine.json" />
   </envs>
</configuration>
Run Code Online (Sandbox Code Playgroud)
  1. 打开任意测试文件,然后使用键盘快捷键 ctrl+shift+R。这将从默认节点运行配置创建一个新的临时运行配置,但使用当前测试文件填充该Javascript file选项。

我用这个设置创建了一个非常流畅的工作流程。考虑到 ctrl+R 将重新运行上次运行配置,您可以编写测试,使用 ctrl+shift+R 运行它,然后开始编写代码,并使用 ctrl+R 重新运行相同的测试文件。