<p dir="auto">I'm working on a compile-to-js language called <a href="http://www.skew-lang.org/" rel="nofollow">Skew</a>. Visual Studio Code's language services API has been really awesome so far and I'm impressed how easy it was to hook up my compiler to provide standard features like tooltips and diagnostics and so on. I tried to do the same thing in Atom and ended up needing to implement tooltips and squiggly underlines and stuff which was a bummer. So great job on the API!</p>
<p dir="auto">Right now the primary target language for the Skew compiler is JavaScript, so it makes sense to run Skew code with the node debugger target. I recently discovered that the debugger supports source maps so I'd like to focus on making Visual Studio Code the primary IDE for Skew. However, Skew is different enough from JavaScript that the values in the debugger panel don't make sense sometimes and the value tooltips often don't work. Some examples: the object context is called "self" instead of "this", enums show up as numbers instead of their textual names, function names in the call stack use their rewritten names instead of their original names.</p>
<p dir="auto">Is there a way to hook into the view layer of the debugger to provide better names, tooltips, and value visualizations for languages that compile to JavaScript? The debugger API seems to be at the wrong level. I want to leverage the existing node debugger, just change the view layer when the current file is Skew code. Doing this customization in the view layer also seems like the right place to me because it means debugging a project that uses multiple compile-to-js languages would be able to work. Other languages could benefit too. For example, tooltips currently don't work when debugging CoffeeScript for variables that use the "@" prefix to access instance variables.</p>
<ul dir="auto">
<li>VSCode Version: 1.2.0-insider</li>
<li>OS Version: Win10</li>
</ul>
<p dir="auto">Steps to Reproduce:</p>
<p dir="auto">as the title says</p>