So, this is very cool! Browsing a TF repo in VS Co...
# contributors
b
So, this is very cool! Browsing a TF repo in VS Code and running
infracost breakdown --terraform-parse-hcl
from a terminal inside it to get costs output in a very short time. I was wondering what the ideas were for further VS integration? Brainstorming a bit: • Hit F5 to run the breakdown? • Run breakdown on save and display the results in a tab? • Integrate with Visual Studio (as opposed to VSCode)? (Not sure how much value there is in this exactly, but I thought at first from the blogpost that's what this was.) • Have a side panel (mockup pictured) which showed you the bottom line, updating whenever you saved or browsed the git history?
🙌 1
m
🎉 nice! At the moment we don’t really have any “concrete” ideas for the code editor integration, but I’m really liking the idea of a side panel to provide realtime feedback
I know @busy-agent-35515 has some thoughts on how an integration could work
l
One thought I had was if it’s possible a metadata above each resource/module in the HCL. For example how “0 references” is shown here:

https://raw.githubusercontent.com/maptz/Maptz.VSCode.Extensions.customfolding/master/imgs/CSharp_region_wrap.gif

m
Oooh that’s nice
blush
b
I thought to experiment with LSP, but haven't had a chance yet
l
I don’t think it would be too difficult to update the HCL parsing to add files and line numbers as metadata to each resource. Am I right Hugo?
m
should be fine
we already do this a bit to add
id
and
arn
attributes to resources
it’s essentially the same process
w
https://code.visualstudio.com/api/references/vscode-api#CodeLens the codelens api for vscode makes it trivial
🙌 3
m
ah yeah that’s nice
w
I dont know enough about infracost internals but it would be good if you didn't have to run a breakdown to get the costs and instead it just imputed the costs for each resource on declaration, get it could be a bit heavy though..
l
Yeah that’s interesting, we could probably do something to scope it down to resources, so we can process them individually. The complication may come from any interdependent resources