...Code completion, going to the symbol definition, finding references, symbol renaming. Error checking, code formatting (document, range and on-type), symbol listing (current document and workspace-wide). Symbol highlighting, documentation on hover, random, frustrating crashes.