Skip to content

Commit 29d835a

Browse files
[EDI] Exploring the structure of your source code (#59864)
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
1 parent d878c63 commit 29d835a

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-the-structure-of-your-source-code.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,23 @@ topics:
99
- Code Security
1010
- Code scanning
1111
- CodeQL
12-
intro: You can use the AST viewer to display the abstract syntax tree of a {% data variables.product.prodname_codeql %} database.
12+
intro: Visualize how your code maps to {% data variables.product.prodname_codeql %} classes in {% data variables.product.prodname_vscode_shortname %}.
1313
redirect_from:
1414
- /code-security/codeql-for-vs-code/exploring-the-structure-of-your-source-code
1515
- /code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/exploring-the-structure-of-your-source-code
1616
contentType: how-tos
1717
---
1818

19-
## About the abstract syntax tree
19+
## Prerequisites
2020

21-
The abstract syntax tree (AST) of a program represents the program's syntactic structure. Nodes on the AST represent elements such as statements and expressions. A {% data variables.product.prodname_codeql %} database encodes these program elements and the relationships between them through a database schema. For more information about database schemas, see [{% data variables.product.prodname_codeql %} glossary](https://codeql.github.com/docs/codeql-overview/codeql-glossary/#ql-database-schema) in the {% data variables.product.prodname_codeql %} documentation.
21+
To view the abstract syntax tree (AST) of a source file, you need to have an appropriate {% data variables.product.prodname_codeql %} query (usually `printAST.ql`) in your workspace. If you do not have an appropriate query, you can update your copy of the [`github/codeql`](https://github.com/github/codeql) repository from the `main` branch.
2222

23-
{% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %} contains an AST viewer. The viewer consists of a graph visualization view that lets you explore the AST of a file in a {% data variables.product.prodname_codeql %} database. This helps you see which {% data variables.product.prodname_codeql %} classes correspond to which parts of your source files.
23+
> [!NOTE] Updating your repository may discard your query caches, making your next query runs slower.
2424
2525
## Viewing the abstract syntax tree of a source file
2626

27-
> [!NOTE]
28-
> If you don't have an appropriate query (usually `printAST.ql`) in your workspace, the **{% data variables.product.prodname_codeql %}: View AST** command in the following steps won't work. To fix this, you can update your copy of the [`github/codeql`](https://github.com/github/codeql) repository from the `main` branch. If you do this, query caches may be discarded, so your next query runs may be slower.
29-
3027
1. Open the "Databases" view in the extension, and right-click the database that you want to explore. Click **Add Database Source to Workspace**.
31-
3228
1. Navigate to a {% data variables.product.prodname_codeql %} database's source file in the File Explorer.
33-
34-
1. Run **{% data variables.product.prodname_codeql %}: View AST** from the {% data variables.product.prodname_vscode_command_palette_shortname %}. This runs a {% data variables.product.prodname_codeql %} query (usually called `printAST.ql`) over the active file, which may take a few seconds. Once the query is complete, the AST viewer will display the structure of the source file.
35-
36-
1. To see the nested structure of the source file, click the arrows and expand the nodes.
37-
38-
You can click a node in the AST viewer to jump to it in the source code. Conversely, if you click a section of the source code, the AST viewer displays the corresponding node.
29+
1. Run **{% data variables.product.prodname_codeql %}: View AST** from the {% data variables.product.prodname_vscode_command_palette_shortname %}. This runs a {% data variables.product.prodname_codeql %} query over the active file, which may take a few seconds. Once the query is complete, the AST viewer will display the structure of the source file.
30+
1. To see the nested structure of the source file, click the arrows and expand the nodes. These nodes represent different elements of your code, such as statements and expressions.
31+
1. To see the source code corresponding to a particular node, click the node in the AST viewer. Similarly, you can click a section of the source code to display the corresponding node.

0 commit comments

Comments
 (0)