I’m new to VSCode so please forgive me if this is a stupid question.
I am exploring an Azure JSON template I just exported. In playing around I noticed VSCode alerted me of a bad value for an attribute.
I’m aware of intellisense from a general perspective, but I’m wondering how VSCode knew I was working with an Azure related template and where that intellisense came from. I can’t imagine that’s baked directly into VScode itself, is it?
I ask, not only from a curiosity standpoint, but I also would I’d like to give feedback on a specific piece of intellisense that appears outdated, but don’t know where or to whom I would provide such feedback.
I assumed it was coming from an extension, but I disabled all my Azure extensions and it continues to provide that intellisense. Is it pulling this from somewhere else outside of VSCode, e.g. the schema URL link within the JSON itself? I’ve never fully understood the purpose of that schema URL in JSON/XML files.
2
Answers
I ended up doing some HTTP sniffing and did see that there are definitely hits to the schema URL and subsequent URLs provided so I assume the IntelliSense is coming from that.
VSCode also has built-in support for JSON Schema. It provides basic IntelliSense like auto-completion and validation based on the schema of the JSON file you’re looking into.
VSCode provides IntelliSense support for Azure JSON templates with the help of Azure Resource Manager (ARM) Tools extension.
When you open any Azure resource related JSON template, VSCode recognizes the file extension and allow the ARM Tools extension to edit the code.