Skip to content

Latest commit

 

History

History
87 lines (67 loc) · 2.47 KB

File metadata and controls

87 lines (67 loc) · 2.47 KB

vscode-common-python-lsp

Shared Python and TypeScript libraries for VS Code Python tool extensions (black-formatter, flake8, isort, mypy, pylint).

Structure

vscode-common-python-lsp/
├── python/                         # Python package (bundled server-side)
│   ├── vscode_common_python_lsp/   # Package source
│   │   └── __init__.py
│   ├── tests/                      # Python tests (pytest)
│   ├── pyproject.toml              # Package metadata & build config
│   └── requirements-dev.txt        # Dev/test dependencies
│
├── typescript/                     # TypeScript package (VS Code client-side)
│   ├── src/                        # Package source
│   │   └── index.ts
│   ├── tests/                      # TypeScript tests (mocha)
│   ├── package.json
│   └── tsconfig.json
│
├── .github/                        # CI/CD workflows
├── LICENSE
├── SECURITY.md
└── README.md

Python Package

The vscode_common_python_lsp Python package provides server-side utilities shared across all five extensions: path resolution, context managers, tool execution runners, JSON-RPC process management, and the LSP server factory.

Development

cd python
pip install -e ".[dev]"
pytest tests/

TypeScript Package

The vscode-common-python-lsp TypeScript package provides VS Code client-side utilities: extension activation, server lifecycle, settings management, Python interpreter resolution, and logging.

Development

cd typescript
npm install
npm run build
npm test

Consuming in Extensions

Git submodule (current):

git submodule add https://github.com/microsoft/vscode-common-python-lsp.git submodules/vscode-common-python-lsp

Python side — install into bundled/libs/ via noxfile. TypeScript sidefile: dependency in package.json.

Version Requirements

Runtime Minimum Version
Python 3.10+
Node.js 18+
VS Code 1.74.0+

Contributing

This project welcomes contributions and suggestions. See CONTRIBUTING.md for details.

License

MIT