Visual Studio Code

Follow the recommendations below to set up features like IntelliSense and integrate Docker containers.

Recommended Extensions

File: .vscode/extensions.json


  "recommendations": [

Enabling IntelliSense

To add auto-complete, syntax highlighting, and other IntelliSense features for development in VSCode, set up the c_cpp_properties.json file in your .vscode directory. .vscode/c_cpp_properties is configured to use ./build/compile_commands.json. If you build lantern in a different directory, make sure to update .vscode config appropriately in order to have IntelliSense working.

File: .vscode/c_cpp_properties.json


  "configurations": [
      "name": "Linux",
      "includePath": ["${workspaceFolder}/**"],
      "defines": [],
      "cStandard": "c99",
      "cppStandard": "c++11",
      "compileCommands": "./build/compile_commands.json",
      "intelliSenseMode": "linux-clang-x64"
  "version": 4

Integrating Docker Containers

Leverage the Dev Containers extension in VSCode and the provided configuration file to seamlessly use Docker containers for your development setup.

File: .devcontainer/devcontainer.json


  "name": "Lantern Dev",
  "dockerFile": "../",
  "context": "..",
  "runArgs": [
  "mounts": [
  "overrideCommand": false,
  "customizations": {
    "vscode": {
      "extensions": ["ms-vscode.cpptools", "ms-vscode.cmake-tools"],
      "settings": {
        "": "/bin/bash"