{
  "id": 15099715,
  "title": "Interactive refactoring in gopls",
  "url": "https://urgent.news/2026/10/17/interactive-refactoring-in-gopls",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-17T01:12:09.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://go.dev/blog/interactive-refactoring"
  },
  "original_language": "en",
  "account": "Recent developments in gopls, an open-source Go language server, introduce interactive refactoring capabilities. This feature, designed in collaboration with the Dart team, brings dynamic, multi-step dialogs to popular editors like VS Code, Neovim, and Emacs. Previously, gopls relied on a parameterless model for code transformations, often resorting to one-size-fits-all defaults or refraining from offering refinements altogether. Interactive refactoring overcomes this limitation by enabling language servers to request user input before applying edits. This advancement unlocks a suite of long-awaited refactorings for Go developers, such as adding and removing struct tags, implementing interfaces with dynamic symbol search, and moving declarations across files and packages. The LSP's new mechanism for collecting user input before computing text edits decouples language-specific features from editors, fostering a more cohesive ecosystem where improvements to the language server benefit all clients.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}