title: Registration of multiple commands in VSCode extension
body: <p>I'm trying to understand the extension activation routine and maybe someone can help me.</p>
  
  <p>In the file <code>package.json</code> there is the <code>activationEvents</code> node, where I define when the extension will be activated (e.g. when executing a command via <code>onCommand</code>). <a href="https://code.visualstudio.com/docs/extensionAPI/activation-events" rel="nofollow noreferrer">See help</a></p>
  
  <p>From code documentation of the sample extension, I understand that the extension will only be activated on the very first execution of the command.</p>
  
  <p>What happens when I define multiple commands in the extension? I would register all the commands in the <code>activate</code> function and add them to the <code>activationEvents</code>:</p>
  
  <pre><code>"activationEvents": [
      "onCommand:extension.testCommand1",
      "onCommand:extension.testCommand2",
      "onCommand:extension.testCommand3"
  ],
  </code></pre>
  
  <p>Will the <code>activate</code> function only be called once when any of the commands was executed the very first time? Or will it call the function for the first execution of <code>extension.testCommand1</code>, <code>extension.testCommand2</code> and <code>extension.testCommand3</code> (--> three times)?</p>
  
  <p>I'm also writing a language server and would like to put everything in the same extension. Is this possible or do I need to create two additional extensions (client and server)?</p>