【问题标题】:Run/Debug CURRENT file in WebStorm在 WebStorm 中运行/调试当前文件
【发布时间】:2014-02-10 15:05:27
【问题描述】:

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

是否有一个变量/快捷方式告诉 WebStorm 运行/调试当前打开的文件? 像${opened-file} 这样的东西如果有一个运行配置“模板”会很棒。

谢谢。

【问题讨论】:

  • 不幸的是,没有这样的变量。您是否尝试过右键单击并从那里选择运行/调试? (将创建临时配置)
  • 不,我在项目文件面板、选项卡或应用程序菜单中都找不到任何此类菜单项... Snif
  • 但它就在那里:编辑器上下文菜单:s17.postimg.org/jjo1bo9z3/screen01.png;项目视图上下文菜单:s12.postimg.org/7441lxiv1/screen02.png

标签: javascript debugging webstorm


【解决方案1】:

Application parameters 支持宏(字段中的加号图标)。您需要使用$FilePathRelativeToProjectRoot$ 宏。

此示例运行node /node_modules/.bin/wdio wdio.local.conf.js --spec foo.jsfoo.js$FilePathRelativeToProjectRoot$

【讨论】:

  • 我有~/tmp 作为我的工作目录,并使用$FilePathRelativeToProjectRoot$ 作为文件参数,但尝试运行它时出错:Cannot find module '/Users/ken/tmp'。对我来说毫无意义,为什么它试图将我的工作目录作为模块加载?幸运的是,@Pnar 下面的回答完美无缺。
【解决方案2】:

您可以执行“运行上下文配置”来执行当前打开的文件。 Mac 上的默认快捷键应该是 control+shift+R。

【讨论】:

    【解决方案3】:

    一种方法是右键单击文件,然后选择Run <filename>。这将使用运行配置中的默认值运行当前文件。

    【讨论】:

      【解决方案4】:

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

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

      1. 安装 jasmine(Preferences->Frameworks & Frameworks->Node 或仅从 cmd 行)。
      2. 设置测试目录(例如,src/test 或 src/spec)
      3. 在测试目录的根目录下设置 jasmine.json 配置文件。我的看起来像这样:
      {
        "spec_dir": "src/test",
        "spec_files": [ "**/*[sS]pec.js" ]
      }
      
      1. 编写测试文件:
      describe('HelloWorld', function () {
        const HelloWorld = require('../HelloWorld');
      
        describe('#greeting', function() {
          it('should be friendly', function() {
            expect(new HelloWorld().greeting()).toEqual("Hello, World");
          });
        });
      });
      
      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>
      
      1. 打开任何测试文件,并使用键盘快捷键 ctrl+shift+R。这将从默认节点运行配置创建一个新的临时运行配置,但会为 Javascript file 选项填写当前测试文件。

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

      【讨论】:

      • 顺便说一句...在这一点上,内置了 Jest 处理,对于节点下的客户端代码的 TDD,我通常只是默认使用 jest 而不是 jasmine。
      猜你喜欢
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 2014-01-30
      相关资源
      最近更新 更多