### Install SlnGen Tool Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Installs the SlnGen tool globally, which is an optional Visual Studio generator for the project. ```cmd dotnet tool install --global Microsoft.VisualStudio.SlnGen.Tool ``` -------------------------------- ### Comprehensive AstGen XML Configuration Source: https://github.com/microsoft/sqlscriptdom/blob/main/tools/AstGen/ReadMe.txt Example showcasing the use of various class and member attributes including abstract classes and collections. ```xml ``` -------------------------------- ### Basic AstGen XML Configuration Source: https://github.com/microsoft/sqlscriptdom/blob/main/tools/AstGen/ReadMe.txt Example of a basic XML structure defining a class with a member and an interface. ```xml ``` -------------------------------- ### Summary as Sub-node Configuration Source: https://github.com/microsoft/sqlscriptdom/blob/main/tools/AstGen/ReadMe.txt Example demonstrating how to specify a summary comment as a sub-node instead of an attribute. ```xml Some summary (on multiple lines) ``` -------------------------------- ### Restore Project Dependencies Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Restores project dependencies using the .NET CLI. This command downloads and installs all required NuGet packages. ```cmd dotnet restore ``` -------------------------------- ### Clone Sql Script DOM Repository Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Clones the Sql Script DOM repository from GitHub. This is a standard Git command to get the project source code. ```cmd git clone https://github.com/microsoft/SqlScriptDOM ``` -------------------------------- ### Build the Project Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Builds the entire project using the .NET CLI. This command compiles the source code and produces executable artifacts. ```cmd dotnet build ``` -------------------------------- ### Generate and Open Visual Studio Solution Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Generates a Visual Studio solution file for the project. This is an optional step for Windows users and not required for building. ```cmd slngen ``` -------------------------------- ### Run Full Test Suite for Parser Changes Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Execute this command in your terminal to run the complete test suite. This is mandatory for any changes to grammar files (.g) or AST definitions (Ast.xml) to catch regressions. ```cmd dotnet test Test/SqlDom/UTSqlScriptDom.csproj -c Debug ``` -------------------------------- ### Navigate to Project Root Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Changes the current directory to the root of the SqlScriptDOM source code. This is a prerequisite for subsequent build commands. ```cmd cd SqlScriptDOM ``` -------------------------------- ### Build SQLDOM Project Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Executes a standard build of the SQLDOM project to trigger automatic source generation. ```powershell dotnet build Source\SqlDom\SqlScriptDom\Microsoft.SqlServer.TransactSql.ScriptDom.csproj -c Debug ``` -------------------------------- ### Run All Priority 0 Tests Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Executes all tests with a priority level of 0 using the .NET CLI test runner. This is useful for running a specific subset of tests. ```cmd dotnet test --filter Priority=0 ``` -------------------------------- ### Invoke SQLDOM Generation Targets Source: https://github.com/microsoft/sqlscriptdom/blob/main/CONTRIBUTING.md Runs specific MSBuild targets to generate parser and AST code without performing a full compilation. ```powershell dotnet msbuild Source\SqlDom\SqlScriptDom\Microsoft.SqlServer.TransactSql.ScriptDom.csproj -t:GLexerParserCompile;GSqlTokenTypesCompile;CreateAST -p:Configuration=Debug ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.