Repository navigation
Description
Hi @albilu, thanks for the plugin. I use it every day.
I have a local branch on top of b5201d4 (current master) that fixes or implements 16 of the open issues. Before opening pull requests, I'd like to know whether you want them and how you'd prefer them split.
Bugs fixed (12)
| Issue | Fix |
|---|---|
| #127 | Format keeps the cursor position. Format Selection changes only the selected lines |
| #126 | Renaming a project works (name stored in nbproject/project.properties) |
| #144 | Completion (Jedi) uses the project's venv interpreter |
| #135 | Restored VEnv console no longer hangs on "Starting" |
| #130 | Debugger Variables and Watches windows implemented (frame switching, expansion) |
| #6 | Multiline Run Selection works in IPython |
| #2 | Test gutter Run buttons follow their methods after edits |
| #3 | Rerun failed tests keeps coverage, handles paths with spaces |
| #32 | Per-project PYTHONPATH (Project Properties → Sources), used by Run/Debug/Test/consoles/completion |
| #90 | src layout shown directly, __pycache__ hidden, config files under Project Files |
| #72 | Missing/broken tooling env is recreated at startup with a notification instead of an exception |
| #4 | Indexing no longer starts a process per file: a 50,000-file project indexes in about 25 s instead of more than 20 min |
Features (4)
| Issue | Implementation |
|---|---|
| #143 | Project Properties → Run → "Module (python -m)" for Run and Debug |
| #139 | Tools → Options → Python → Linting: max line length, ignored codes, linters on/off |
| #120 | "uv" environment manager in the new-project wizard, plus a uv menu (Sync, Lock, Dependency Tree) |
| #112 | python-lsp-ruff installed with the server, off by default, toggled in the Linting options |
It also fixes some smaller things found along the way. For example: import from sources overwrote pyproject.toml, first-run setup failed when Python lacks ensurepip, and debugger Stop/Step were only enabled while a Python editor had focus.
Testing so far: Linux, NetBeans 30 and 31, Python 3.8–3.14. 224 unit tests (existing + new) pass, and features were checked in a running IDE. Not tested yet: RELEASE290, Windows, macOS. I'll test RELEASE290 before opening PRs.
Size: about +13,900 / −3,100 lines across 108 files, so one PR would be hard to review. My suggestion is roughly one PR per area, each based on master:
- Editor formatting: When you format a file, the cursor jumps to the end of the file #127
- Project: Renaming of a project does not work #126, Improve PYTHONPATH management per project #32, Inconsistencies in the general project view window #90, nbPython should be able to run a package (à là python -m ...) #143
- Language server and environment: LSP Server not using project venv #144, Handle userdir migration with pythonlsp dir #72, ErrorAnnotator: Noticed slowness on large directories (but not on debug mode) #4, Trying to configure the Warnings shown for Python, linter + Pep8 #139, Add suport for python-lsp-ruff #112
- Consoles: impossible to stop the initial venv console process #135, Ipython seems to need Shift+Enter to execute the code #6
- Test runner: Test Method Run annotation action break on test method position change #2, Test Runner with Coverage need escape the --omit regex in case of Test Replay Failed #3
- Debugger: Using Watches or Variables #130, Stop/Step enablement
- uv support: Support uv project manager #120
I'd leave version numbers and release notes to you.
Disclosure: I wrote this with AI coding assistants (OpenAI Codex and Anthropic Claude). I've reviewed and tested the result and will answer review comments and make changes.
Questions:
- Are you interested in these, and is the split above OK (or would you prefer one PR per issue)?
- Anything I should know about code style, target NetBeans versions, or tests?
Thanks!
Activity
github-actions commentedon Oct 30, 2026
Thanks for reporting this issue, we will take a look on ASAP
albilu commentedon Oct 31, 2026
@swlim9999 Hi, thanks for the proposal. One PR per issue will be cleaner.
About code style, unfortunately it is not enforced in the repo, you will have to ensure to avoid noises (spacing, extra tabs etc...)
Same for tests, the repo doesnt have a test suite, that's why single PR per issue would be easier to test.
I don't mind AI code, this was a project i have done pre AI era, but i myself use AI nowadays. I will just request top Tier models (Opus,Astra) usage if so.
I don't use this plugins anymore but i welcome contributions.
swlim9999 commentedon Oct 31, 2026
Thanks! As suggested, I'll send one PR per issue. The first is #146 (#127). The rest will follow once I've seen your feedback on it.