<p dir="auto">According to the docs <a href="https://code.visualstudio.com/docs/editor/tasks#_autodetecting-gulp-grunt-and-jake-tasks" rel="nofollow">"Autodetecting Gulp, Grunt and Jake Tasks"</a>, <strong><code class="notranslate">gulpfile.js</code> at project root</strong> is loaded and tasks in that are listed automatically.</p>
<p dir="auto"><code class="notranslate">gulpfile.js</code>:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var gulp = require('gulp');
gulp.task('gulpfileTASK1', function() {});
gulp.task('gulpfileTASK2', function() {});
gulp.task('gulpfileTASK3', function() {});"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">gulp</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'gulp'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">gulp</span><span class="pl-kos">.</span><span class="pl-en">task</span><span class="pl-kos">(</span><span class="pl-s">'gulpfileTASK1'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">gulp</span><span class="pl-kos">.</span><span class="pl-en">task</span><span class="pl-kos">(</span><span class="pl-s">'gulpfileTASK2'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">gulp</span><span class="pl-kos">.</span><span class="pl-en">task</span><span class="pl-kos">(</span><span class="pl-s">'gulpfileTASK3'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">VS Code Command <code class="notranslate">&gt;Tasks: Run Task</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gulpfileTASK1
gulpfileTASK2
gulpfileTASK3"><pre class="notranslate"><code class="notranslate">gulpfileTASK1
gulpfileTASK2
gulpfileTASK3
</code></pre></div>
<p dir="auto">This autodetecting is disabled (<code class="notranslate">gulpfile.js</code> is ignored) if tasks are defined in <code class="notranslate">.vscode/tasks.json</code>, right?</p>
<p dir="auto"><code class="notranslate">tasks.json</code>:</p>
<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
  &quot;version&quot;: &quot;0.1.0&quot;,
  &quot;command&quot;: &quot;something&quot;,
  &quot;isShellCommand&quot;: true,
  &quot;tasks&quot;: [
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK1&quot;,
      &quot;args&quot;: []
    },
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK2&quot;,
      &quot;args&quot;: []
    },
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK3&quot;,
      &quot;args&quot;: []
    }
  ]
}"><pre class="notranslate">{
  <span class="pl-ent">"version"</span>: <span class="pl-s"><span class="pl-pds">"</span>0.1.0<span class="pl-pds">"</span></span>,
  <span class="pl-ent">"command"</span>: <span class="pl-s"><span class="pl-pds">"</span>something<span class="pl-pds">"</span></span>,
  <span class="pl-ent">"isShellCommand"</span>: <span class="pl-c1">true</span>,
  <span class="pl-ent">"tasks"</span>: [
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK1<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    },
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK2<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    },
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK3<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    }
  ]
}</pre></div>
<p dir="auto">VS Code Command <code class="notranslate">&gt;Tasks: Run Task</code> (tasks in <code class="notranslate">gulpfile.js</code> are not listed):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3"><pre class="notranslate"><code class="notranslate">tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3
</code></pre></div>
<p dir="auto">It seems that behavior above is right.<br>
But if <code class="notranslate">gulp</code> is specified to the <code class="notranslate">command</code> above (<code class="notranslate">"command": "gulp"</code>), tasks in both files are listed.</p>
<p dir="auto">VS Code Command <code class="notranslate">&gt;Tasks: Run Task</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gulpfileTASK1
gulpfileTASK2
gulpfileTASK3
tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3"><pre class="notranslate"><code class="notranslate">gulpfileTASK1
gulpfileTASK2
gulpfileTASK3
tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3
</code></pre></div>
<p dir="auto">Of course the tasks in <code class="notranslate">tasks.json</code> are gulp tasks because <code class="notranslate">command</code> is <code class="notranslate">gulp</code>. <code class="notranslate">gulpfileTASK*</code> tasks should not be listed.</p>
<p dir="auto">When <code class="notranslate">--gulpfile</code> is specified, these tasks are listed even if <code class="notranslate">gulpfile.js</code> is another named and it is in outside of project root.</p>
<p dir="auto"><code class="notranslate">tasks.json</code>:</p>
<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
  &quot;version&quot;: &quot;0.1.0&quot;,
  &quot;command&quot;: &quot;gulp&quot;,
  &quot;isShellCommand&quot;: true,
  &quot;args&quot;: [
    &quot;--gulpfile&quot;, &quot;PATH/TO/OUTSIDE/OF/PROJECT/ANOTHER_NAME.js&quot;
  ],
  &quot;tasks&quot;: [
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK1&quot;,
      &quot;args&quot;: []
    },
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK2&quot;,
      &quot;args&quot;: []
    },
    {
      &quot;taskName&quot;: &quot;tasksjsonTASK3&quot;,
      &quot;args&quot;: []
    }
  ]
}"><pre class="notranslate">{
  <span class="pl-ent">"version"</span>: <span class="pl-s"><span class="pl-pds">"</span>0.1.0<span class="pl-pds">"</span></span>,
  <span class="pl-ent">"command"</span>: <span class="pl-s"><span class="pl-pds">"</span>gulp<span class="pl-pds">"</span></span>,
  <span class="pl-ent">"isShellCommand"</span>: <span class="pl-c1">true</span>,
  <span class="pl-ent">"args"</span>: [
    <span class="pl-s"><span class="pl-pds">"</span>--gulpfile<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>PATH/TO/OUTSIDE/OF/PROJECT/ANOTHER_NAME.js<span class="pl-pds">"</span></span>
  ],
  <span class="pl-ent">"tasks"</span>: [
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK1<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    },
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK2<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    },
    {
      <span class="pl-ent">"taskName"</span>: <span class="pl-s"><span class="pl-pds">"</span>tasksjsonTASK3<span class="pl-pds">"</span></span>,
      <span class="pl-ent">"args"</span>: []
    }
  ]
}</pre></div>
<p dir="auto">VS Code Command <code class="notranslate">&gt;Tasks: Run Task</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gulpfileTASK1
gulpfileTASK2
gulpfileTASK3
tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3"><pre class="notranslate"><code class="notranslate">gulpfileTASK1
gulpfileTASK2
gulpfileTASK3
tasksjsonTASK1
tasksjsonTASK2
tasksjsonTASK3
</code></pre></div>
<p dir="auto">It seems that the autodetecting is enabled always when <code class="notranslate">command</code> is <code class="notranslate">gulp</code> even if there is not <code class="notranslate">gulpfile.js</code> at project root.</p>
<p dir="auto">Testing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="128546969" data-permission-text="Title is private" data-url="https://github.com/microsoft/vscode/issues/2230" data-hovercard-type="issue" data-hovercard-url="/microsoft/vscode/issues/2230/hovercard" href="https://github.com/microsoft/vscode/issues/2230">#2230</a></p>
<p dir="auto">Can you try to remove the arrows?</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/5047891/12607999/525f58d4-c4d9-11e5-92bb-9ad14c3c9f2f.png"><img src="https://cloud.githubusercontent.com/assets/5047891/12607999/525f58d4-c4d9-11e5-92bb-9ad14c3c9f2f.png" alt="image" style="max-width: 100%;"></a></p>