<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">1.8.6</p>
<p dir="auto"><strong>Code</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import {Component} from 'angular2/core';

@Component({
    selector: 'igx-test',
    directives: [Test],
    templateUrl: 'app/ngTest/Templates/Test.html'
})

export class Test {
    //test
    constructor() {
        console.log(&quot;ng2 is working&quot;);
    }
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Component</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'angular2/core'</span><span class="pl-kos">;</span>

@<span class="pl-smi">Component</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">selector</span>: <span class="pl-s">'igx-test'</span><span class="pl-kos">,</span>
    <span class="pl-c1">directives</span>: <span class="pl-kos">[</span><span class="pl-smi">Test</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
    <span class="pl-c1">templateUrl</span>: <span class="pl-s">'app/ngTest/Templates/Test.html'</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

<span class="pl-k">export</span> <span class="pl-k">class</span> <span class="pl-smi">Test</span> <span class="pl-kos">{</span>
    <span class="pl-c">//test</span>
    <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">"ng2 is working"</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<div class="highlight highlight-text-xml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="  &lt;PropertyGroup Condition=&quot;'$(Configuration)' == 'Debug'&quot;&gt;
    &lt;TypeScriptNoImplicitAny&gt;False&lt;/TypeScriptNoImplicitAny&gt;
    &lt;TypeScriptGeneratesDeclarations&gt;False&lt;/TypeScriptGeneratesDeclarations&gt;
    &lt;TypeScriptModuleKind&gt;none&lt;/TypeScriptModuleKind&gt;
    &lt;TypeScriptTarget&gt;ES5&lt;/TypeScriptTarget&gt;
    &lt;TypeScriptRemoveComments&gt;False&lt;/TypeScriptRemoveComments&gt;
    &lt;TypeScriptCompileOnSaveEnabled&gt;True&lt;/TypeScriptCompileOnSaveEnabled&gt;
    &lt;TypeScriptSourceMap&gt;False&lt;/TypeScriptSourceMap&gt;
    &lt;TypeScriptModuleResolution&gt;node&lt;/TypeScriptModuleResolution&gt;
    &lt;TypeScriptOutFile /&gt;
    &lt;TypeScriptOutDir /&gt;
    &lt;TypeScriptNoEmitOnError&gt;False&lt;/TypeScriptNoEmitOnError&gt;
    &lt;TypeScriptMapRoot /&gt;
    &lt;TypeScriptSourceRoot /&gt;
    &lt;TypeScriptExperimentalDecorators&gt;true&lt;/TypeScriptExperimentalDecorators&gt;
  &lt;/PropertyGroup&gt;"><pre class="notranslate">  &lt;<span class="pl-ent">PropertyGroup</span> <span class="pl-e">Condition</span>=<span class="pl-s"><span class="pl-pds">"</span>'$(Configuration)' == 'Debug'<span class="pl-pds">"</span></span>&gt;
    &lt;<span class="pl-ent">TypeScriptNoImplicitAny</span>&gt;False&lt;/<span class="pl-ent">TypeScriptNoImplicitAny</span>&gt;
    &lt;<span class="pl-ent">TypeScriptGeneratesDeclarations</span>&gt;False&lt;/<span class="pl-ent">TypeScriptGeneratesDeclarations</span>&gt;
    &lt;<span class="pl-ent">TypeScriptModuleKind</span>&gt;none&lt;/<span class="pl-ent">TypeScriptModuleKind</span>&gt;
    &lt;<span class="pl-ent">TypeScriptTarget</span>&gt;ES5&lt;/<span class="pl-ent">TypeScriptTarget</span>&gt;
    &lt;<span class="pl-ent">TypeScriptRemoveComments</span>&gt;False&lt;/<span class="pl-ent">TypeScriptRemoveComments</span>&gt;
    &lt;<span class="pl-ent">TypeScriptCompileOnSaveEnabled</span>&gt;True&lt;/<span class="pl-ent">TypeScriptCompileOnSaveEnabled</span>&gt;
    &lt;<span class="pl-ent">TypeScriptSourceMap</span>&gt;False&lt;/<span class="pl-ent">TypeScriptSourceMap</span>&gt;
    &lt;<span class="pl-ent">TypeScriptModuleResolution</span>&gt;node&lt;/<span class="pl-ent">TypeScriptModuleResolution</span>&gt;
    &lt;<span class="pl-ent">TypeScriptOutFile</span> /&gt;
    &lt;<span class="pl-ent">TypeScriptOutDir</span> /&gt;
    &lt;<span class="pl-ent">TypeScriptNoEmitOnError</span>&gt;False&lt;/<span class="pl-ent">TypeScriptNoEmitOnError</span>&gt;
    &lt;<span class="pl-ent">TypeScriptMapRoot</span> /&gt;
    &lt;<span class="pl-ent">TypeScriptSourceRoot</span> /&gt;
    &lt;<span class="pl-ent">TypeScriptExperimentalDecorators</span>&gt;true&lt;/<span class="pl-ent">TypeScriptExperimentalDecorators</span>&gt;
  &lt;/<span class="pl-ent">PropertyGroup</span>&gt;</pre></div>
<p dir="auto"><strong>Expected behavior:</strong><br>
Visual studio finds the module ''angular2/core' with:</p>
<div class="highlight highlight-text-xml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;TypeScriptModuleResolution&gt;node&lt;/TypeScriptModuleResolution&gt;"><pre class="notranslate">&lt;<span class="pl-ent">TypeScriptModuleResolution</span>&gt;node&lt;/<span class="pl-ent">TypeScriptModuleResolution</span>&gt;</pre></div>
<p dir="auto">has full IntelliSense and no build errors.<br>
<strong>Actual behavior:</strong><br>
There is a IntelliSense error ("Cannot fine module angular2/core") and no auto completion; the msbuild and build on save both work fine however. The IntelliSense works fine when I put:</p>
<div class="highlight highlight-text-xml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;TypeScriptModuleResolution&gt;NodeJs&lt;/TypeScriptModuleResolution&gt;"><pre class="notranslate">&lt;<span class="pl-ent">TypeScriptModuleResolution</span>&gt;NodeJs&lt;/<span class="pl-ent">TypeScriptModuleResolution</span>&gt;</pre></div>
<p dir="auto">in the proj xml. If I do this I get the must be 'node' or 'classic' error when I use msbuild. Build on save works fine still.</p>
<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">nightly (1.9.0-dev.20160422)</p>
<p dir="auto"><strong>Current code in tslint.json:</strong></p>
<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
    &quot;rules&quot;: {
        &quot;semicolon&quot;: true
     }
}"><pre class="notranslate">{
    <span class="pl-ent">"rules"</span>: {
        <span class="pl-ent">"semicolon"</span>: <span class="pl-c1">true</span>
     }
}</pre></div>
<p dir="auto"><strong>Desirable code:</strong></p>
<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
    &quot;rules&quot;: {
        &quot;semicolon&quot;: [true,
            &quot;always&quot;
        ]
     }
}"><pre class="notranslate">{
    <span class="pl-ent">"rules"</span>: {
        <span class="pl-ent">"semicolon"</span>: [<span class="pl-c1">true</span>,
            <span class="pl-s"><span class="pl-pds">"</span>always<span class="pl-pds">"</span></span>
        ]
     }
}</pre></div>
<p dir="auto"><strong>Description:</strong><br>
According to the <a href="http://palantir.github.io/tslint/rules/semicolon/" rel="nofollow">TSLint spec</a> and their <a href="http://json.schemastore.org/tslint" rel="nofollow">json scheme</a>, value of semicolon option should be array. So, When I use <a href="https://github.com/Microsoft/vscode-tslint">vscode-tslint</a>, vscode show error message. this is noizy.<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/9623009/14736743/6e549c02-08b3-11e6-9bab-3564fea2b0aa.png"><img src="https://cloud.githubusercontent.com/assets/9623009/14736743/6e549c02-08b3-11e6-9bab-3564fea2b0aa.png" alt="semicolonoption" style="max-width: 100%;"></a></p>