feat: Add NXOpen Python intellisense integration
Implemented NXOpen Python stub file integration for intelligent code completion in VSCode, significantly improving development workflow for NXOpen API usage. Features Added: - VSCode configuration for Pylance with NXOpen stub files - Test script to verify intellisense functionality - Comprehensive setup documentation with examples - Updated development guidance with completed milestone Configuration: - Stub path: C:\Program Files\Siemens\Simcenter3D_2412\ugopen\pythonStubs - Type checking mode: basic (balances help vs. false positives) - Covers all NXOpen modules: Session, Part, CAE, Assemblies, etc. Benefits: - Autocomplete for NXOpen classes, methods, and properties - Inline documentation and parameter type hints - Faster development with reduced API lookup time - Better LLM-assisted coding with visible API structure - Catch type errors before runtime Files: - .vscode/settings.json - VSCode Pylance configuration - tests/test_nxopen_intellisense.py - Verification test script - docs/NXOPEN_INTELLISENSE_SETUP.md - Complete setup guide - DEVELOPMENT_GUIDANCE.md - Updated with completion status Testing: - Stub files verified in NX 2412 installation - Test script created with comprehensive examples - Documentation includes troubleshooting guide Next Steps: - Research authenticated Siemens documentation access - Investigate documentation scraping for LLM knowledge base - Enable LLM to reference NXOpen API during code generation This is Step 1 of NXOpen integration strategy outlined in DEVELOPMENT_GUIDANCE.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
61
tests/test_nxopen_intellisense.py
Normal file
61
tests/test_nxopen_intellisense.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""
|
||||
Test script to verify NXOpen Python intellisense is working with stub files.
|
||||
|
||||
This script is NOT meant to be executed - it's for testing IDE code completion.
|
||||
Open this file in VSCode and verify that:
|
||||
1. Import statements show autocomplete suggestions
|
||||
2. NXOpen classes show available methods/properties
|
||||
3. Method parameters show type hints
|
||||
4. Hovering over objects shows documentation
|
||||
|
||||
Setup Required:
|
||||
- VSCode with Pylance extension installed
|
||||
- .vscode/settings.json configured with stub path:
|
||||
"python.analysis.stubPath": "C:\\Program Files\\Siemens\\Simcenter3D_2412\\ugopen\\pythonStubs"
|
||||
"""
|
||||
|
||||
# Test 1: Import autocomplete
|
||||
# Type "import NXOpen." and verify you see module suggestions:
|
||||
# NXOpen.Part, NXOpen.Session, NXOpen.CAE, NXOpen.Assemblies, etc.
|
||||
import NXOpen
|
||||
import NXOpen.Part
|
||||
import NXOpen.Session
|
||||
import NXOpen.CAE
|
||||
import NXOpen.Assemblies
|
||||
|
||||
# Test 2: Session object autocomplete
|
||||
# Type "session." and verify you see methods like GetSession(), Parts, etc.
|
||||
session = NXOpen.Session.GetSession()
|
||||
|
||||
# Test 3: Part methods autocomplete
|
||||
# Type "part." and verify you see methods
|
||||
work_part = session.Parts.Work
|
||||
|
||||
# Test 4: Expression methods autocomplete
|
||||
# Type "expression." and verify you see methods like FindObject, CreateExpression, etc.
|
||||
if work_part:
|
||||
expressions = work_part.Expressions
|
||||
# Type "expressions." and verify methods appear:
|
||||
# expressions.FindObject, CreateExpression, EditWithUnits, etc.
|
||||
|
||||
# Test 5: Parameter type hints
|
||||
# Hover over CreateExpression and verify you see parameter types
|
||||
# expression = expressions.CreateExpression("test", "1.0")
|
||||
|
||||
# Test 6: CAE autocomplete
|
||||
# Type "fem_part." and verify CAE-specific methods appear
|
||||
fem_part = NXOpen.CAE.FemPart
|
||||
# Type "fem_part." to see: BaseFemPart, FemModel, etc.
|
||||
|
||||
# Test 7: Assembly autocomplete
|
||||
# Type "assemblies." and verify assembly methods appear
|
||||
assemblies = work_part.ComponentAssembly if work_part else None
|
||||
# Type "assemblies." to see: AddComponent, CreateComponent, etc.
|
||||
|
||||
# Test 8: Documentation tooltips
|
||||
# Hover over any NXOpen class/method and verify documentation appears
|
||||
# Example: Hover over "GetSession()" above - should show docstring
|
||||
|
||||
print("Intellisense test file - Do not execute!")
|
||||
print("Open in VSCode and test autocomplete functionality")
|
||||
print("If you see type hints and autocomplete suggestions, intellisense is working!")
|
||||
Reference in New Issue
Block a user