<p dir="auto">I'm currently building an vim extension for vscode when I encountered this problem.<br>
I need to bind keys such as <code class="notranslate">i</code> in <code class="notranslate">Normal Mode</code> and unbind it in <code class="notranslate">Insert Mode</code> so suggestions and other vscode's builtin features could work as normal.<br>
In detail, my desired package.json can be:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
    &quot;contributes&quot;: {
        &quot;keybindings&quot;: [
            {
                &quot;command&quot;: &quot;vim.i&quot;,
                &quot;key&quot;: &quot;i&quot;,
                &quot;when&quot;: &quot;editorTextFocus &amp;&amp; !isVimInsertMode&quot;
            },
            // ...
        ]
        // ...
    }
    // ...
}"><pre class="notranslate"><code class="notranslate">{
    "contributes": {
        "keybindings": [
            {
                "command": "vim.i",
                "key": "i",
                "when": "editorTextFocus &amp;&amp; !isVimInsertMode"
            },
            // ...
        ]
        // ...
    }
    // ...
}
</code></pre></div>
<p dir="auto">It would be a great help if extension can access <code class="notranslate">KeybindingService</code> to register context to keybindings or bind/unbind in runtime.</p>
<p dir="auto">ps: I can mimic all the default behaviours in <code class="notranslate">Insert Mode</code>, but that's just a lot of duplicate code and unnessery time.</p>
<ul dir="auto">
<li>VSCode Version: 1.2.0-insider</li>
<li>OS Version: Windows, OS X, Linux</li>
</ul>
<p dir="auto">Steps to Reproduce:</p>
<ol dir="auto">
<li>Create a new app or open an existing one.</li>
<li>Hit F5 to start debugger.</li>
</ol>
<p dir="auto">When no <code class="notranslate">launch.json</code> file exists VSCode creates it but then refuses to recognize it and start the debugger.</p>
<p dir="auto">This buggy behavior is noticeable when at start you press F5 from anywhere but the Debugger. If you navigate to the Debugger and hit F5 it works and then VSCode remembers it.</p>
<p dir="auto">Note: VSCode 1.1.1 works.</p>