Skip to content
argentic edited this page Nov 19, 2024 · 6 revisions

The following summarizes our experience of using Visual Studio Code (VS Code) IDE for developing ADDA. This guide has been tested with VS Code versions 1.95.2 and 1.95.3 on Ubuntu.

Basic Installation and Setup

Prerequisites

Before starting, ensure the following tools are installed on your system:

  • VS Code: Download and install Visual Studio Code.
  • C Compiler: Install GCC (sudo apt install gcc).
  • Make: Ensure Make is installed (sudo apt install make).
  • Clang-Format: Install (sudo apt install clang-format).

Install Recommended Extensions

To optimize VS Code, install these extensions:

  1. C/C++ Extension Pack: Provides IntelliSense, debugging, and more.
  2. Code Spell Checker: Highlights typos in code and comments.
  3. Clang-Format: Automates consistent code formatting.
  4. Makefile Tools: Provides IntelliSense for Makefile projects.
  5. Markdown Preview Enhanced: Provides many useful functionalities (PDF export, preview, etc.).

You can install extensions from the Extensions view (Ctrl+Shift+X).

Build and Launch Configuration

Open the ADDA Project Folder:

  1. Launch VS Code.
  2. Use File -> Open Folder... to select the root directory of the ADDA project.

Build Configuration with Makefile

  1. Create a tasks.json file in the .vscode folder.
    • Use the menu: Terminal -> Configure Tasks -> Create tasks.json file from template.
    • Select Others from the prompt.
    • Copy the following tasks.json file inside.
  2. Run the tasks Terminal -> Run Task... and select one.
  3. The Terminal -> Run Build Task... menu runs the default task (e.g., make clean).

Debug Configuration

Configuring debugging in VS Code for ADDA allows you to execute the program directly from the editor, step through code, and inspect variables.

  1. Open the Command Palette (Ctrl+Shift+P) -> C/C++: Edit Configurations (JSON).
    • Set "cStandard": to "c99".
  2. Create a launch.json file in the .vscode folder.
    • Use the menu: Run -> Add Configuration...
    • Select C++ (GDB/LLDB)
    • Copy the following launch.json file inside.
  3. Run and debug the configurations:
    • Open the Run and Debug view in the left bar (Ctrl+Shift+D).
    • Select the desired configuration.
    • Start debugging (F5)

Interaction with git

VS Code includes built-in Git support, enabling basic functionality. Files in the project tree that differ from the previous committed revision are marked by U. In the left-click menu, the Source Control window (Ctrl+Shift+G) provides options to compare files with previous revisions, revert changes, or commit and push them.

Add the following local ignore entry to the .gitignore file in the ADDA repository to exclude VS Code-specific files:

# VS Code
.vscode

Editor settings

Main code

ADDA adheres to a specific code style, which can be enforced in VS Code using Clang-Format. To set this up:

  1. Download the .clang-format configuration file to the root of the ADDA project: New File... -> .clang-format.
  2. (Optional) Specify files to ignore in a .clang-format-ignore file.
  3. Update your settings.json to enable Clang formatting on save and type:
    • Open Command Palette (Ctrl+Shift+P).
    • Select Preferences: Open Settings (JSON).
    • Add:
      {
          "editor.defaultFormatter": "xaver.clang-format",
          "[c]": {
              "editor.defaultFormatter": "xaver.clang-format",
              "editor.formatOnType": true,
              "editor.formatOnSave": true
          }
      }
    • editor.formatOnSave: Automatically formats your code when you save the file.
    • editor.formatOnType: Automatically formats your code as you type (triggered by typing characters like semicolons or curly braces).

Spell Checking

To set up user dictionary for spelling checks:

  1. Use the Code Spell Checker extension to catch typos in comments and variable names.
  2. Add a custom dictionary file userdic.txt:
    • Open Settings,json.
    • Edit the path to your custom dictionary file:
      {
          "cSpell.dictionaryDefinitions": [
              {
                  "name": "custom",
                  "path": "${workspaceFolder}/userdic.txt"
              }
          ],
          "cSpell.userWords": ["adda", "DDA", "electricField"]
      }

Terminal

VS Code's integrated terminal can be opened in any folder (in Project Explorer) via Terminal -> New Terminal. You can also add multiple terminals and split them.

Key outputs visible in the terminal include:

  • Problems: Errors and warnings from Clang-Format and the compiler.
  • Debug Console: Displays debugging logs.
  • Spell Checker: Highlights typos flagged by your dictionary.

Wiki pages

VS Code is suitable for editing ADDA wiki pages (Markdown files) offering live preview functionality. The Markdown Preview Enhanced extension allows for advanced features like exporting to PDF and previewing Markdown files in split windows (Ctrl+K V).

Clone this wiki locally