ide/view_item_tree.rs
1use hir::{Semantics, db::DefDatabase};
2use ide_db::{FileId, RootDatabase};
3
4// Feature: Debug ItemTree
5//
6// Displays the ItemTree of the currently open file, for debugging.
7//
8// | Editor | Action Name |
9// |---------|-------------|
10// | VS Code | **rust-analyzer: Debug ItemTree** |
11pub(crate) fn view_item_tree(db: &RootDatabase, file_id: FileId) -> String {
12 let sema = Semantics::new(db);
13 let file_id = sema.attach_first_edition(file_id);
14 db.file_item_tree(file_id.into()).pretty_print(db, file_id.edition(db))
15}