move_type

[refactoring]

Moves a type to a different file and/or namespace and updates references.

Try this tool in Playground.

Parameters

NameTypeRequiredDescription
typeNamestringYesType name to move (simple or fully qualified).
targetFilePathstringNoOptional target file path.
targetNamespacestringNoOptional target namespace.
projectNamestringNoOptional project name to limit symbol search.
applyChangesbooleanNoIf true (default), applies changes to disk. If false, returns a preview diff.
timeout_msnumberNoTimeout in milliseconds (5 minutes). Use 0 to disable. Default is 300000.

Examples

Move a type to a new namespace

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "move_type",
    "arguments": {
      "typeName": "MyClass",
      "targetNamespace": "MyApp.Utils"
    }
  }
}
Response
{
  "success": true,
  "data": {
    "symbolName": "MyClass",
    "symbolKind": "Class",
    "sourceLocation": "/path/to/OldFile.cs",
    "targetLocation": "/path/to/NewFile.cs",
    "filesChanged": 3,
    "filesCreated": 1,
    "applied": true,
    "unifiedDiff": "..."
  },
  "error": null
}

Response Notes

Returns a unified diff of the change set