yaooqinn commented on code in PR #655: URL: https://github.com/apache/spark-website/pull/655#discussion_r2649790266
########## developer-tools.md: ########## @@ -470,6 +470,26 @@ debug in IntelliJ as usual. To exit remote debug mode (so that you don't have to keep starting the remote debugger), type "session clear" in SBT console while you're in a project. + +<h4>Cursor/VS Code</h4> + +You can leverage the power of *Cursor* or *VS Code* for Spark development by using the Metals extension. +Metals provides robust Scala support through the Build Server Protocol (BSP). + +Initial setup: +- *Install Metals*: Search for and install the Scala (Metals) extension from the Marketplace. +- *Open Project*: Open your Spark root directory. +- *Select Build Tool*: When prompted by the popup in the bottom-left corner, select sbt to read build definition. +- *Confirm Build Server*: Metals defaults to using Bloop as the build server. Do not change this setting, as Bloop provides the fastest compilation and best integration for local development. Open the Command Palette (Cmd+Shift+P or Ctrl+Shift+P), run `Metals: Run doctor`, and verify the status dashboard. Ensure it shows: `Build definition is coming from sbt` and `Build server currently being used is Bloop`. + +If you encounter compilation errors or the IDE fails to recognize symbols, follow these steps to perform a clean import: +1. *Stop Bloop Server*: Run the following command in your terminal to stop the bloop server: `pkill -f "bloop.BloopServer"`. If you have installed bloop CLI you can run `bloop exit` instead. Review Comment: Is this equivalent to `Metals: Restart server`? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
