Skip to content

1.0 | Project structure

zalan-racz-gaijin edited this page Jun 18, 2024 · 4 revisions

Tree view of the project structure

📂Dagor-Shader-Language-Support-for-Visual-Studio
├── 📂.github
│   ├── 📂ISSUE_TEMPLATE
│   ├── 📂workflows
│   │   ├── 📄build.yml
├── 📂DagorShaderLanguageSupport
│   ├── 🗀bin
│   ├── 📂Dagor-Shader-Language-Server
│   ├── 📂Icons
│   │   ├── 📄dshl.png
│   │   ├── 📄hlsl.png
│   ├── 📂Resources
│   │   ├── 📂Screenshots
│   │   ├── 📄dshl.tmLanguage.tmtheme
│   │   ├── 📄icon.png
│   │   ├── 📄icon.svg
│   ├── 📄DagorShaderLanguageSupport.csproj
│   ├── 📄Dshl.pkgdef
│   ├── 📄Monikers.imagemanifest
│   ├── 📄source.extension.vsixmanifest
├── 📄.gitignore
├── 📄.gitmodules
├── 📄CHANGELOG.md
├── 📄DagorShaderLanguageSupport.sln
├── 📄LICENSE
└── 📄README.md

Legend

  • 📂Regular folder
  • 🗀A folder that contains generated files, build artifacts, or downloadable packages
  • 📄File

Files and folders

This section describes the more important files and folders in the project.

The .github/workflows folder contains the configurations of the GitHub Actions CI pipeline. The build.yml file configures the CI pipeline, which runs on Pull Requests. The ISSUE_TEMPLATE folder contains templates for the GitHub issues.

The DagorShaderLanguageSupport folder contains the source code, the language server, and the resources. The bin folder contains the extension, after you build it. The Dagor-Shader-Language-Server folder contains the language server (don't forget to use the --recursive flag when you clone the repository). If you need more information about it, read the language server's wiki pages. The Icons folder contains the files' icons in Visual Studio: dshl.png, and hlsl.png. The Resources folder contains other resources: the Screenshots folder contains illustrations for the README.md file. icon.svg is the extension's original icon which is not used, it's there so that we can edit it. icon.png is the png version of the previous file, and this is the actual icon of the extension. dshl.tmLanguage.tmtheme is used to map the syntax highlight to Visual Studio's format. DagorShaderLanguageSupport.csproj, defines the project, the files inside it, and the build process. Dshl.pkgdef registers the language configuration and the file icons. Monikers.imagemanifest is a generated file, which defines the file icons, and source.extension.vsixmanifest is the extension's manifest file which defines the extension's name, version, dependencies, and other metadata.

The .gitignore, and the .gitmodules files configure git, describing what files to include in commits, and how to handle submodules.

The README.md file contains the description of the extension, the CHANGELOG.md file the detailed list of changes for each version, and the LICENSE file contains the extension's license.

The DagorShaderLanguageSupport.sln defines the solution and the project inside of it.

Useful resources