<ul dir="auto">
<li>VSCode Version: 1.1.1</li>
<li>OS Version: Any</li>
</ul>
<p dir="auto">This is a request for the <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp" rel="nofollow">C# Extension</a>. Essentially, the extension needs platform-specific native binaries in order to function (both for debugging support and OmniSharp for language server support). It does this by acquiring the binaries during the extension's first activation, rather than during installation. So, the user experience for installation is a bit awkward:</p>
<ol dir="auto">
<li>Install C# Extension</li>
<li>VS Code prompts to restart after successful installation</li>
<li>User restarts VS Code and opens a C# project</li>
<li>User waits after the "installed" extension finishes installing itself by acquiring native dependencies</li>
</ol>
<p dir="auto">To make matters worse, in order to acquire the native dependencies, the extension essentially has to copy code from VS Code in order to handle HTTP proxies correctly (see <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/dotnet/vscode-csharp/commit/b8f01e4dffd3e1208e08ded719f09c365416f9b1/hovercard" href="https://github.com/dotnet/vscode-csharp/commit/b8f01e4dffd3e1208e08ded719f09c365416f9b1">dotnet/vscode-csharp@<tt>b8f01e4</tt></a>).</p>
<p dir="auto">Testing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="128487208" data-permission-text="Title is private" data-url="https://github.com/microsoft/vscode/issues/2218" data-hovercard-type="issue" data-hovercard-url="/microsoft/vscode/issues/2218/hovercard" href="https://github.com/microsoft/vscode/issues/2218">#2218</a></p>
<ul dir="auto">
<li>no <code class="notranslate">jsconfig.json</code></li>
</ul>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="exports.something = function() {
    return true;
}

function test() {

}"><pre class="notranslate"><span class="pl-s1">exports</span><span class="pl-kos">.</span><span class="pl-en">something</span> <span class="pl-c1">=</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-k">return</span> <span class="pl-c1">true</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-k">function</span> <span class="pl-en">test</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"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/5047891/12610977/cef3df08-c4ea-11e5-9337-a7d59190b1f2.gif"><img src="https://cloud.githubusercontent.com/assets/5047891/12610977/cef3df08-c4ea-11e5-9337-a7d59190b1f2.gif" alt="salsa-duplicate-outline" data-animated-image="" style="max-width: 100%;"></a></p>