Vadalog projects

Projects exist only in Vadacode and are not a thing in Vadalog.

Projects serve the purpose of keeping together a set of Vadalog files, adding some metadata and allowing for separating the scopes of multiple directories which contain unreleated Vadalog sources.

The first and foremost implication of projects is that Vadacode automatically analyzes all Vadalog sources in a project.

Analyzing all sources means that each document gets parsed; hence, for example the Problems tab shows diagnostics for all files in the project.

Project structure

Vadacode does not enforce a project structure with the notable exception of a vadaconfig.json file placed at the root of the project directory.

In this way, you can have several projects in the same repository, hosted in different directories.

Common elements in a page header
📒 root (1)
  📂 project01 (2)
		📄 vadaconfig.json (3)
    📂 src
      📄 program1.vada
  📂 project02 (4)
		📄 vadaconfig.json (5)
		📄 program1.vada
1 Repository root directory
2 project01 root directory
3 vadaconfig.json file for project01
4 project02 root directory
5 vadaconfig.json file for project02

vadaconfig.json project file

A project is basically a directory which contains a vadaconfig.json file, which includes some user-specified metadata.

This configuration hasn’t any effects in Vadalog and is used only for documentation purposes.

vadaconfig.json file structure is not mandatory and everything can be considered optional, exception made for the top-level name field which identifies the project and is used in the UI.

{
	"name": "project02",
	"description": "Test project",
	"version": "0.0.11",
	"compilerOptions": {
		"engines": {
			"vadalog": "^1.14.0"
		},
		"include": [
			"./src"
		],
		"main": "./src/m1.vada"
	}
}

When a vadaconfig.json file is available, its name is shown in the Status bar. Clicking it opens the corresponding vadaconfig.json file.

project button

Scaffolding a vadaconfig.json

When you open a directory which does not already contain a vadaconfig.json, you can use the handy Create vadalog project button in the far left of the status bar.

project create

When you click the button, Vadacode asks to specify a project id which will be used as the name of the project.

This scaffolds a vadaconfig.json file. You can then reload Visual Studio Code Open (e.g. command palette Ctrl+Shift+P and execute the command Reload Window).