Profile … not sure on that one I have not tried it.
A very good setup, because simply good is not good enough ;), is super easy. You download VSC , open it to the folder you have Blender source code and then install following extensions
- C/C++ (must have)
- Python (must have)
- CMake (optional)
- CMake tools (optional)
- GitLens (optional) - helps you browse through git commits
- Git History (optional) - helps you browser through a file’s git history
- CobaltTheme2 (optional if you like blue themes lime me )
Installation is just a single click. From there on you optionally make your own tasks. I have one task for triggering the debugger and one for building Blender. A simple google will have you up and running on 5 minutes. VSC comes with its own internal terminal so technically speaking you dont need those tasks but if you are like me not a fan of terminal and command line tools it does make things a single click away.
Profile wise I will bet that it works the same as debugging, make a task to trigger the profiler passing it the command line arguments it expects. Profiling is a huge things for C/C++ so I am sure there are like a ton of tools that can be used via command line and VSC can use tasks to access them or you can use the internal command line if you dont mind the typing. Its completely up to you.
VSC come with ready templates for task for the usual suspects build tools and debuggers so maybe the same applies for profilers too. So basically you only have to type in the commands you want to execute in the command line/terminal.
for example this is the task I use to debug on windows
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"name": "(Windows) Launch",
and this for building
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"command": "cd C:\\Users\\kilon\\ephestos\\blender && make debug",
// Reveal the output only if unrecognized errors occur.
// Use the standard MS compiler pattern to detect errors, warnings and infos
I am not on mac right now so I cannot post the mac version but I think you get the idea.