# Type hints vs Cursor context

The Redocly OpenAPI VS Code extension now includes [Type hints](/docs/vscode/type-hints), a lightweight alternative to [Cursor context](/docs/vscode/cursor-context) for identifying node types.
With type hints you can find the `subject` and `property` values you need for [configurable rules](/docs/cli/rules/configurable-rules#configurable-rules) by hovering over any node in your API description (OpenAPI, AsyncAPI, Arazzo, and others).

## Example: enforcing snake_case operation IDs

Suppose you need to change all operation IDs to use snake_case instead of camelCase.
To avoid missing any operation, let's create a configurable linting rule that checks every operation ID in the OpenAPI document.

When writing your rule, you need to target a specific [node](/learn/openapi/openapi-visual-reference/openapi-node-types) with the `subject` and `property` to which the rule applies.
To find these values, you can either use Cursor context or Type hints.

### Use [Type hints](/docs/vscode/type-hints)

To use [Type hints](/docs/vscode/type-hints) to find the values of `subject` and `property`:

1. Hover over `operationId`.
2. Read `subject` and `property` directly from the tooltip.


![type-hints-tooltip](/assets/openapi-vscode-type-hints.948db67592b731992eb448ddf8c514b460abafaf9a1b24d7faa2e7330b8ee11e.289fb047.png)

This approach requires fewer steps and keeps you inside the immediate context of your work, without affecting your focus.

### Use Cursor context

To use [Cursor context](/docs/vscode/cursor-context) to find the values of `subject` and `property`:

1. Place your cursor on `operationId`.
2. Open the Cursor context panel.
3. Find `subject` and `property` in the panel.


![cursor-context-panel](/assets/openapi-vscode-cursor-context-migration.d1c4d06aa746a94c3f376729ded1883104b1907402b434c93deca01cb32a67a4.289fb047.png)

### Rule configuration


```yaml
extends:
  - recommended
rules:
  struct: error
  rule/id-casing:
    subject:
      type: Operation
      property: operationId
    assertions:
      casing: snake_case
```