├── .devcontainer
├── Dockerfile
└── devcontainer.json
├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── 1_ds_bug_report.md
│ ├── 2_bug_report.md
│ ├── 3_ds_feature_request.md
│ ├── 4_feature_request.md
│ └── config.yml
├── PULL_REQUEST_TEMPLATE.md
├── lock.yml
├── release_plan.md
├── test_plan.md
└── workflows
│ └── ci.yml
├── .gitignore
├── .npmrc
├── .nvmrc
├── .prettierrc.js
├── .sonarcloud.properties
├── .vscode
├── extensions.json
├── launch.json
├── settings.json
└── tasks.json
├── .vscodeignore
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CODING_STANDARDS.md
├── CONTRIBUTING.md
├── LICENSE
├── PYTHON_INTERACTIVE_TROUBLESHOOTING.md
├── README.md
├── SECURITY.md
├── ThirdPartyNotices-Distribution.txt
├── ThirdPartyNotices-Repository.txt
├── build
├── .eslintrc
├── .mocha-multi-reporters.config
├── .mocha.functional.json
├── .mocha.functional.perf.json
├── .mocha.perf.config
├── .mocha.performance.json
├── .mocha.unittests.js.json
├── .mocha.unittests.json
├── .mocha.unittests.ts.json
├── .nycrc
├── ci
│ ├── TSAOptions.json
│ ├── addEnvPath.py
│ ├── codecov.yml
│ ├── conda_base.yml
│ ├── conda_env_1.yml
│ ├── conda_env_2.yml
│ ├── performance
│ │ ├── DS_test_benchmark.json
│ │ ├── checkPerformanceResults.js
│ │ ├── createNewPerformanceBenchmark.js
│ │ ├── perfJobs.yaml
│ │ ├── savePerformanceResults.js
│ │ └── vscode-python-performance.yaml
│ ├── postInstall.js
│ ├── templates
│ │ ├── globals.yml
│ │ ├── jobs
│ │ │ ├── build_compile.yml
│ │ │ └── coverage.yml
│ │ ├── steps
│ │ │ ├── build.yml
│ │ │ ├── compile.yml
│ │ │ ├── dependencies.yml
│ │ │ ├── generate_upload_coverage.yml
│ │ │ ├── initialization.yml
│ │ │ └── merge_upload_coverage.yml
│ │ └── test_phases.yml
│ ├── vscode-python-ci-manual.yaml
│ ├── vscode-python-ci-static-analysis.yaml
│ ├── vscode-python-ci.yaml
│ ├── vscode-python-nightly-ci.yaml
│ ├── vscode-python-nightly-flake-ci.yaml
│ └── vscode-python-pr-validation.yaml
├── conda-functional-requirements.txt
├── constants.js
├── contributedFiles.json
├── debug
│ └── replaceWithWebBrowserPanel.js
├── debugger-install-requirements.txt
├── existingFiles.json
├── functional-test-requirements.txt
├── ipython-test-requirements.txt
├── test-requirements.txt
├── tslint-rules
│ ├── baseRuleWalker.js
│ └── messagesMustBeLocalizedRule.js
├── unlocalizedFiles.json
├── util.js
└── webpack
│ ├── common.js
│ ├── loaders
│ ├── externalizeDependencies.js
│ ├── fixNodeFetch.js
│ ├── jsonloader.js
│ └── remarkLoader.js
│ ├── nativeOrInteractivePicker.html
│ ├── pdfkit.js
│ ├── plugins
│ └── less-plugin-base64.js
│ ├── webpack.datascience-ui-notebooks.config.js
│ ├── webpack.datascience-ui-renderers.config.js
│ ├── webpack.datascience-ui-viewers.config.js
│ ├── webpack.datascience-ui.config.builder.js
│ ├── webpack.datascience-ui.config.js
│ ├── webpack.extension.config.js
│ └── webpack.extension.dependencies.config.js
├── customEditor.json
├── data
├── .vscode
│ └── settings.json
└── test.py
├── experiments.json
├── gulpfile.js
├── icon.png
├── images
├── ConfigureDebugger.gif
├── ConfigureTests.gif
├── InterpreterSelectionZoom.gif
├── JavascriptProfiler.png
├── OpenOrCreateNotebook.gif
├── dataviewer.gif
├── debugDemo.gif
├── general.gif
├── interactive.gif
├── kernelchange.gif
├── plotviewer.gif
├── remoteserver.gif
├── runbyline.gif
├── savetopythonfile.png
├── unittest.gif
└── variableexplorer.png
├── languages
└── pip-requirements.json
├── news
├── .vscode
│ └── settings.json
├── 1 Enhancements
│ ├── 10496.md
│ ├── 12414.md
│ ├── 12827.md
│ ├── 12828.md
│ ├── 12959.md
│ ├── 12980.md
│ ├── 12988.md
│ ├── 13037.md
│ ├── 13122.md
│ ├── 13218.md
│ ├── 13259.md
│ ├── 3073.md
│ ├── 3104.md
│ └── README.md
├── 2 Fixes
│ ├── 10924.md
│ ├── 11122.md
│ ├── 11743.md
│ ├── 11875.md
│ ├── 12202.md
│ ├── 12510.md
│ ├── 12766.md
│ ├── 12821.md
│ ├── 12833.md
│ ├── 12931.md
│ ├── 12987.md
│ ├── 13106.md
│ ├── 13117.md
│ ├── 13124.md
│ ├── 13156.md
│ ├── 13165.md
│ ├── 13172.md
│ ├── 13205.md
│ ├── 13235.md
│ └── README.md
├── 3 Code Health
│ ├── 10772.md
│ ├── 12554.md
│ ├── 12809.md
│ ├── 12844.md
│ ├── 12893.md
│ ├── 12919.md
│ ├── 12966.md
│ ├── 12977.md
│ ├── 13075.md
│ ├── 13171.md
│ ├── 13269.md
│ └── README.md
├── README.md
├── __main__.py
├── announce.py
├── requirements.in
├── requirements.txt
└── test_announce.py
├── package-lock.json
├── package.datascience-ui.dependencies.json
├── package.json
├── package.nls.de.json
├── package.nls.es.json
├── package.nls.fr.json
├── package.nls.it.json
├── package.nls.ja.json
├── package.nls.json
├── package.nls.ko-kr.json
├── package.nls.nl.json
├── package.nls.pl.json
├── package.nls.pt-br.json
├── package.nls.ru.json
├── package.nls.tr.json
├── package.nls.zh-cn.json
├── package.nls.zh-tw.json
├── pvsc.code-workspace
├── pythonFiles
├── .env
├── .vscode
│ └── settings.json
├── Notebooks intro.ipynb
├── completion.py
├── install_debugpy.py
├── interpreterInfo.py
├── normalizeForInterpreter.py
├── printEnvVariables.py
├── printEnvVariablesToFile.py
├── pyproject.toml
├── pyvsc-run-isolated.py
├── refactor.py
├── shell_exec.py
├── sortImports.py
├── symbolProvider.py
├── testing_tools
│ ├── __init__.py
│ ├── adapter
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── discovery.py
│ │ ├── errors.py
│ │ ├── info.py
│ │ ├── pytest
│ │ │ ├── __init__.py
│ │ │ ├── _cli.py
│ │ │ ├── _discovery.py
│ │ │ └── _pytest_item.py
│ │ ├── report.py
│ │ └── util.py
│ └── run_adapter.py
├── testlauncher.py
├── tests
│ ├── __init__.py
│ ├── __main__.py
│ ├── debug_adapter
│ │ ├── __init__.py
│ │ └── test_install_debugpy.py
│ ├── ipython
│ │ ├── __init__.py
│ │ ├── getJupyterVariableList.py
│ │ ├── getJupyterVariableValue.py
│ │ ├── random.csv
│ │ ├── scripts.py
│ │ └── test_variables.py
│ ├── run_all.py
│ ├── test_normalize_for_interpreter.py
│ ├── testing_tools
│ │ ├── __init__.py
│ │ └── adapter
│ │ │ ├── .data
│ │ │ ├── NormCase
│ │ │ │ └── tests
│ │ │ │ │ ├── A
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── b
│ │ │ │ │ │ ├── C
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── test_Spam.py
│ │ │ │ │ │ └── __init__.py
│ │ │ │ │ └── __init__.py
│ │ │ ├── complex
│ │ │ │ ├── README.md
│ │ │ │ ├── mod.py
│ │ │ │ └── tests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── spam.py
│ │ │ │ │ ├── test_42-43.py
│ │ │ │ │ ├── test_42.py
│ │ │ │ │ ├── test_doctest.py
│ │ │ │ │ ├── test_doctest.txt
│ │ │ │ │ ├── test_foo.py
│ │ │ │ │ ├── test_mixed.py
│ │ │ │ │ ├── test_pytest.py
│ │ │ │ │ ├── test_pytest_param.py
│ │ │ │ │ ├── test_unittest.py
│ │ │ │ │ ├── testspam.py
│ │ │ │ │ ├── v
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── spam.py
│ │ │ │ │ ├── test_eggs.py
│ │ │ │ │ ├── test_ham.py
│ │ │ │ │ └── test_spam.py
│ │ │ │ │ ├── w
│ │ │ │ │ ├── test_spam.py
│ │ │ │ │ └── test_spam_ex.py
│ │ │ │ │ └── x
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── y
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── z
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── a
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── test_spam.py
│ │ │ │ │ ├── b
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── test_spam.py
│ │ │ │ │ └── test_ham.py
│ │ │ ├── notests
│ │ │ │ └── tests
│ │ │ │ │ └── __init__.py
│ │ │ ├── simple
│ │ │ │ └── tests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── test_spam.py
│ │ │ └── syntax-error
│ │ │ │ └── tests
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_spam.py
│ │ │ ├── __init__.py
│ │ │ ├── pytest
│ │ │ ├── __init__.py
│ │ │ ├── test_cli.py
│ │ │ └── test_discovery.py
│ │ │ ├── test___main__.py
│ │ │ ├── test_discovery.py
│ │ │ ├── test_functional.py
│ │ │ ├── test_report.py
│ │ │ └── test_util.py
│ └── util.py
├── visualstudio_py_testlauncher.py
└── vscode_datascience_helpers
│ ├── __init__.py
│ ├── daemon
│ ├── README.md
│ ├── __init__.py
│ ├── __main__.py
│ ├── daemon_output.py
│ └── daemon_python.py
│ ├── dataframes
│ ├── vscodeDataFrameHelpers.py
│ ├── vscodeGetDataFrameInfo.py
│ ├── vscodeGetDataFrameRows.py
│ └── vscodeGetVariableInfo.py
│ ├── dummyJupyter.py
│ ├── getJupyterKernels.py
│ ├── getJupyterKernelspecVersion.py
│ ├── getJupyterVariableDataFrameInfo.py
│ ├── getJupyterVariableDataFrameRows.py
│ ├── getJupyterVariableShape.py
│ ├── getServerInfo.py
│ ├── jupyter_daemon.py
│ ├── jupyter_nbInstalled.py
│ ├── kernel_launcher.py
│ ├── kernel_launcher_daemon.py
│ ├── kernel_prewarm_starter.py
│ └── win_interrupt.py
├── requirements.in
├── requirements.txt
├── resources
├── InstallJupyter.png
├── MagicPython.tmLanguage.json
├── PythonSelector.png
├── ctagOptions
├── dark
│ ├── debug.svg
│ ├── discovering-tests.svg
│ ├── export_to_python.svg
│ ├── open-file.svg
│ ├── play.svg
│ ├── refresh.svg
│ ├── repl.svg
│ ├── restart-kernel.svg
│ ├── run-failed-tests.svg
│ ├── run-file.svg
│ ├── run-tests.svg
│ ├── start.svg
│ ├── status-error.svg
│ ├── status-ok.svg
│ ├── status-unknown.svg
│ ├── stop.svg
│ ├── trusted.svg
│ └── un-trusted.svg
├── defaultTheme.json
└── light
│ ├── debug.svg
│ ├── discovering-tests.svg
│ ├── export_to_python.svg
│ ├── open-file.svg
│ ├── play.svg
│ ├── refresh.svg
│ ├── repl.svg
│ ├── restart-kernel.svg
│ ├── run-failed-tests.svg
│ ├── run-file.svg
│ ├── run-tests.svg
│ ├── start.svg
│ ├── status-error.svg
│ ├── status-ok.svg
│ ├── status-unknown.svg
│ ├── stop.svg
│ ├── trusted.svg
│ └── un-trusted.svg
├── schemas
├── conda-environment.json
├── conda-meta.json
└── condarc.json
├── snippets
└── python.json
├── sprint-planning.github-issues
├── src
├── client
│ ├── .gitignore
│ ├── .vscodeignore
│ ├── activation
│ │ ├── aaTesting.ts
│ │ ├── activationManager.ts
│ │ ├── activationService.ts
│ │ ├── commands.ts
│ │ ├── common
│ │ │ ├── activatorBase.ts
│ │ │ ├── analysisOptions.ts
│ │ │ ├── downloadChannelRules.ts
│ │ │ ├── downloader.ts
│ │ │ ├── languageServerChangeHandler.ts
│ │ │ ├── languageServerFolderService.ts
│ │ │ ├── languageServerPackageService.ts
│ │ │ └── packageRepository.ts
│ │ ├── extensionSurvey.ts
│ │ ├── jedi.ts
│ │ ├── languageClientMiddleware.ts
│ │ ├── languageServer
│ │ │ ├── activator.ts
│ │ │ ├── analysisOptions.ts
│ │ │ ├── languageClientFactory.ts
│ │ │ ├── languageServerCompatibilityService.ts
│ │ │ ├── languageServerExtension.ts
│ │ │ ├── languageServerFolderService.ts
│ │ │ ├── languageServerPackageRepository.ts
│ │ │ ├── languageServerPackageService.ts
│ │ │ ├── languageServerProxy.ts
│ │ │ ├── manager.ts
│ │ │ ├── outputChannel.ts
│ │ │ └── platformData.ts
│ │ ├── node
│ │ │ ├── activator.ts
│ │ │ ├── analysisOptions.ts
│ │ │ ├── cancellationUtils.ts
│ │ │ ├── languageClientFactory.ts
│ │ │ ├── languageServerFolderService.ts
│ │ │ ├── languageServerPackageRepository.ts
│ │ │ ├── languageServerPackageService.ts
│ │ │ ├── languageServerProxy.ts
│ │ │ └── manager.ts
│ │ ├── none
│ │ │ └── activator.ts
│ │ ├── progress.ts
│ │ ├── refCountedLanguageServer.ts
│ │ ├── serviceRegistry.ts
│ │ └── types.ts
│ ├── api.ts
│ ├── application
│ │ ├── diagnostics
│ │ │ ├── applicationDiagnostics.ts
│ │ │ ├── base.ts
│ │ │ ├── checks
│ │ │ │ ├── envPathVariable.ts
│ │ │ │ ├── invalidLaunchJsonDebugger.ts
│ │ │ │ ├── invalidPythonPathInDebugger.ts
│ │ │ │ ├── lsNotSupported.ts
│ │ │ │ ├── macPythonInterpreter.ts
│ │ │ │ ├── powerShellActivation.ts
│ │ │ │ ├── pythonInterpreter.ts
│ │ │ │ ├── pythonPathDeprecated.ts
│ │ │ │ └── upgradeCodeRunner.ts
│ │ │ ├── commands
│ │ │ │ ├── base.ts
│ │ │ │ ├── execVSCCommand.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── ignore.ts
│ │ │ │ ├── launchBrowser.ts
│ │ │ │ └── types.ts
│ │ │ ├── constants.ts
│ │ │ ├── filter.ts
│ │ │ ├── promptHandler.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ ├── surceMapSupportService.ts
│ │ │ └── types.ts
│ │ ├── serviceRegistry.ts
│ │ └── types.ts
│ ├── common
│ │ ├── application
│ │ │ ├── activeResource.ts
│ │ │ ├── applicationEnvironment.ts
│ │ │ ├── applicationShell.ts
│ │ │ ├── clipboard.ts
│ │ │ ├── commandManager.ts
│ │ │ ├── commands.ts
│ │ │ ├── commands
│ │ │ │ └── reloadCommand.ts
│ │ │ ├── customEditorService.ts
│ │ │ ├── debugService.ts
│ │ │ ├── debugSessionTelemetry.ts
│ │ │ ├── documentManager.ts
│ │ │ ├── extensions.ts
│ │ │ ├── languageService.ts
│ │ │ ├── notebook.ts
│ │ │ ├── terminalManager.ts
│ │ │ ├── types.ts
│ │ │ ├── webPanels
│ │ │ │ ├── webPanel.ts
│ │ │ │ └── webPanelProvider.ts
│ │ │ └── workspace.ts
│ │ ├── asyncDisposableRegistry.ts
│ │ ├── cancellation.ts
│ │ ├── configSettings.ts
│ │ ├── configuration
│ │ │ └── service.ts
│ │ ├── constants.ts
│ │ ├── contextKey.ts
│ │ ├── crypto.ts
│ │ ├── dotnet
│ │ │ ├── compatibilityService.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ ├── services
│ │ │ │ ├── linuxCompatibilityService.ts
│ │ │ │ ├── macCompatibilityService.ts
│ │ │ │ ├── unknownOsCompatibilityService.ts
│ │ │ │ └── windowsCompatibilityService.ts
│ │ │ └── types.ts
│ │ ├── editor.ts
│ │ ├── errors
│ │ │ ├── errorUtils.ts
│ │ │ └── moduleNotInstalledError.ts
│ │ ├── experiments
│ │ │ ├── groups.ts
│ │ │ ├── manager.ts
│ │ │ ├── service.ts
│ │ │ └── telemetry.ts
│ │ ├── extensions.ts
│ │ ├── featureDeprecationManager.ts
│ │ ├── helpers.ts
│ │ ├── insidersBuild
│ │ │ ├── downloadChannelRules.ts
│ │ │ ├── downloadChannelService.ts
│ │ │ ├── insidersExtensionPrompt.ts
│ │ │ ├── insidersExtensionService.ts
│ │ │ └── types.ts
│ │ ├── installer
│ │ │ ├── channelManager.ts
│ │ │ ├── condaInstaller.ts
│ │ │ ├── extensionBuildInstaller.ts
│ │ │ ├── moduleInstaller.ts
│ │ │ ├── pipEnvInstaller.ts
│ │ │ ├── pipInstaller.ts
│ │ │ ├── poetryInstaller.ts
│ │ │ ├── productInstaller.ts
│ │ │ ├── productNames.ts
│ │ │ ├── productPath.ts
│ │ │ ├── productService.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ └── types.ts
│ │ ├── interpreterPathService.ts
│ │ ├── logger.ts
│ │ ├── markdown
│ │ │ └── restTextConverter.ts
│ │ ├── net
│ │ │ ├── browser.ts
│ │ │ ├── fileDownloader.ts
│ │ │ ├── httpClient.ts
│ │ │ └── socket
│ │ │ │ ├── SocketStream.ts
│ │ │ │ ├── socketCallbackHandler.ts
│ │ │ │ └── socketServer.ts
│ │ ├── nuget
│ │ │ ├── azureBlobStoreNugetRepository.ts
│ │ │ ├── nugetRepository.ts
│ │ │ ├── nugetService.ts
│ │ │ └── types.ts
│ │ ├── open.ts
│ │ ├── persistentState.ts
│ │ ├── platform
│ │ │ ├── constants.ts
│ │ │ ├── errors.ts
│ │ │ ├── fileSystem.ts
│ │ │ ├── fs-paths.ts
│ │ │ ├── fs-temp.ts
│ │ │ ├── pathUtils.ts
│ │ │ ├── platformService.ts
│ │ │ ├── registry.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ └── types.ts
│ │ ├── process
│ │ │ ├── baseDaemon.ts
│ │ │ ├── constants.ts
│ │ │ ├── currentProcess.ts
│ │ │ ├── decoder.ts
│ │ │ ├── internal
│ │ │ │ ├── python.ts
│ │ │ │ └── scripts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── testing_tools.ts
│ │ │ │ │ └── vscode_datascience_helpers.ts
│ │ │ ├── logger.ts
│ │ │ ├── proc.ts
│ │ │ ├── processFactory.ts
│ │ │ ├── pythonDaemon.ts
│ │ │ ├── pythonDaemonFactory.ts
│ │ │ ├── pythonDaemonPool.ts
│ │ │ ├── pythonEnvironment.ts
│ │ │ ├── pythonExecutionFactory.ts
│ │ │ ├── pythonProcess.ts
│ │ │ ├── pythonToolService.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ └── types.ts
│ │ ├── refBool.ts
│ │ ├── serviceRegistry.ts
│ │ ├── startPage
│ │ │ ├── startPage.ts
│ │ │ ├── startPageMessageListener.ts
│ │ │ └── types.ts
│ │ ├── terminal
│ │ │ ├── activator
│ │ │ │ ├── base.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── powershellFailedHandler.ts
│ │ │ ├── commandPrompt.ts
│ │ │ ├── environmentActivationProviders
│ │ │ │ ├── baseActivationProvider.ts
│ │ │ │ ├── bash.ts
│ │ │ │ ├── commandPrompt.ts
│ │ │ │ ├── condaActivationProvider.ts
│ │ │ │ ├── pipEnvActivationProvider.ts
│ │ │ │ └── pyenvActivationProvider.ts
│ │ │ ├── factory.ts
│ │ │ ├── helper.ts
│ │ │ ├── service.ts
│ │ │ ├── shellDetector.ts
│ │ │ ├── shellDetectors
│ │ │ │ ├── baseShellDetector.ts
│ │ │ │ ├── settingsShellDetector.ts
│ │ │ │ ├── terminalNameShellDetector.ts
│ │ │ │ ├── userEnvironmentShellDetector.ts
│ │ │ │ └── vscEnvironmentShellDetector.ts
│ │ │ ├── syncTerminalService.ts
│ │ │ └── types.ts
│ │ ├── types.ts
│ │ ├── utils
│ │ │ ├── async.ts
│ │ │ ├── cacheUtils.ts
│ │ │ ├── decorators.ts
│ │ │ ├── enum.ts
│ │ │ ├── icons.ts
│ │ │ ├── localize.ts
│ │ │ ├── logging.ts
│ │ │ ├── misc.ts
│ │ │ ├── multiStepInput.ts
│ │ │ ├── platform.ts
│ │ │ ├── random.ts
│ │ │ ├── regexp.ts
│ │ │ ├── serializers.ts
│ │ │ ├── stopWatch.ts
│ │ │ ├── sysTypes.ts
│ │ │ ├── text.ts
│ │ │ └── version.ts
│ │ └── variables
│ │ │ ├── environment.ts
│ │ │ ├── environmentVariablesProvider.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ ├── sysTypes.ts
│ │ │ ├── systemVariables.ts
│ │ │ └── types.ts
│ ├── constants.ts
│ ├── datascience
│ │ ├── activation.ts
│ │ ├── baseJupyterSession.ts
│ │ ├── cellFactory.ts
│ │ ├── cellMatcher.ts
│ │ ├── codeCssGenerator.ts
│ │ ├── commands
│ │ │ ├── commandLineSelector.ts
│ │ │ ├── commandRegistry.ts
│ │ │ ├── exportCommands.ts
│ │ │ ├── notebookCommands.ts
│ │ │ └── serverSelector.ts
│ │ ├── common.ts
│ │ ├── constants.ts
│ │ ├── context
│ │ │ └── activeEditorContext.ts
│ │ ├── crossProcessLock.ts
│ │ ├── data-viewing
│ │ │ ├── dataViewer.ts
│ │ │ ├── dataViewerDependencyService.ts
│ │ │ ├── dataViewerFactory.ts
│ │ │ ├── dataViewerMessageListener.ts
│ │ │ ├── jupyterVariableDataProvider.ts
│ │ │ ├── jupyterVariableDataProviderFactory.ts
│ │ │ └── types.ts
│ │ ├── dataScienceFileSystem.ts
│ │ ├── dataScienceSurveyBanner.ts
│ │ ├── datascience.ts
│ │ ├── debugLocationTracker.ts
│ │ ├── debugLocationTrackerFactory.ts
│ │ ├── editor-integration
│ │ │ ├── cellhashprovider.ts
│ │ │ ├── codeLensFactory.ts
│ │ │ ├── codelensprovider.ts
│ │ │ ├── codewatcher.ts
│ │ │ ├── decorator.ts
│ │ │ └── hoverProvider.ts
│ │ ├── errorHandler
│ │ │ └── errorHandler.ts
│ │ ├── export
│ │ │ ├── README.md
│ │ │ ├── exportBase.ts
│ │ │ ├── exportDependencyChecker.ts
│ │ │ ├── exportFileOpener.ts
│ │ │ ├── exportManager.ts
│ │ │ ├── exportManagerFilePicker.ts
│ │ │ ├── exportToHTML.ts
│ │ │ ├── exportToPDF.ts
│ │ │ ├── exportToPython.ts
│ │ │ ├── exportUtil.ts
│ │ │ └── types.ts
│ │ ├── gather
│ │ │ ├── gatherListener.ts
│ │ │ └── gatherLogger.ts
│ │ ├── interactive-common
│ │ │ ├── debugListener.ts
│ │ │ ├── intellisense
│ │ │ │ ├── conversion.ts
│ │ │ │ ├── intellisenseDocument.ts
│ │ │ │ ├── intellisenseLine.ts
│ │ │ │ ├── intellisenseProvider.ts
│ │ │ │ └── wordHelper.ts
│ │ │ ├── interactiveBase.ts
│ │ │ ├── interactiveWindowMessageListener.ts
│ │ │ ├── interactiveWindowTypes.ts
│ │ │ ├── linkProvider.ts
│ │ │ ├── notebookProvider.ts
│ │ │ ├── notebookServerProvider.ts
│ │ │ ├── notebookUsageTracker.ts
│ │ │ ├── serialization.ts
│ │ │ ├── showPlotListener.ts
│ │ │ ├── synchronization.ts
│ │ │ └── types.ts
│ │ ├── interactive-ipynb
│ │ │ ├── autoSaveService.ts
│ │ │ ├── digestStorage.ts
│ │ │ ├── nativeEditor.ts
│ │ │ ├── nativeEditorCommandListener.ts
│ │ │ ├── nativeEditorOldWebView.ts
│ │ │ ├── nativeEditorProviderOld.ts
│ │ │ ├── nativeEditorRunByLineListener.ts
│ │ │ ├── nativeEditorSynchronizer.ts
│ │ │ ├── nativeEditorViewTracker.ts
│ │ │ ├── trustCommandHandler.ts
│ │ │ └── trustService.ts
│ │ ├── interactive-window
│ │ │ ├── identity.ts
│ │ │ ├── interactiveWindow.ts
│ │ │ ├── interactiveWindowCommandListener.ts
│ │ │ └── interactiveWindowProvider.ts
│ │ ├── ipywidgets
│ │ │ ├── cdnWidgetScriptSourceProvider.ts
│ │ │ ├── constants.ts
│ │ │ ├── ipyWidgetMessageDispatcher.ts
│ │ │ ├── ipyWidgetMessageDispatcherFactory.ts
│ │ │ ├── ipyWidgetScriptSource.ts
│ │ │ ├── ipyWidgetScriptSourceProvider.ts
│ │ │ ├── ipywidgetHandler.ts
│ │ │ ├── localWidgetScriptSourceProvider.ts
│ │ │ ├── remoteWidgetScriptSourceProvider.ts
│ │ │ └── types.ts
│ │ ├── jupyter
│ │ │ ├── commandLineSelector.ts
│ │ │ ├── debuggerVariableRegistration.ts
│ │ │ ├── debuggerVariables.ts
│ │ │ ├── interpreter
│ │ │ │ ├── README.md
│ │ │ │ ├── jupyterCommand.ts
│ │ │ │ ├── jupyterInterpreterDependencyService.ts
│ │ │ │ ├── jupyterInterpreterOldCacheStateStore.ts
│ │ │ │ ├── jupyterInterpreterSelectionCommand.ts
│ │ │ │ ├── jupyterInterpreterSelector.ts
│ │ │ │ ├── jupyterInterpreterService.ts
│ │ │ │ ├── jupyterInterpreterStateStore.ts
│ │ │ │ └── jupyterInterpreterSubCommandExecutionService.ts
│ │ │ ├── invalidNotebookFileError.ts
│ │ │ ├── jupyterCellOutputMimeTypeTracker.ts
│ │ │ ├── jupyterConnectError.ts
│ │ │ ├── jupyterConnection.ts
│ │ │ ├── jupyterDataRateLimitError.ts
│ │ │ ├── jupyterDebugger.ts
│ │ │ ├── jupyterDebuggerNotInstalledError.ts
│ │ │ ├── jupyterDebuggerPortBlockedError.ts
│ │ │ ├── jupyterDebuggerPortNotAvailableError.ts
│ │ │ ├── jupyterDebuggerRemoteNotSupported.ts
│ │ │ ├── jupyterExecution.ts
│ │ │ ├── jupyterExecutionFactory.ts
│ │ │ ├── jupyterExporter.ts
│ │ │ ├── jupyterImporter.ts
│ │ │ ├── jupyterInstallError.ts
│ │ │ ├── jupyterInterruptError.ts
│ │ │ ├── jupyterInvalidKernelError.ts
│ │ │ ├── jupyterNotebook.ts
│ │ │ ├── jupyterNotebookProvider.ts
│ │ │ ├── jupyterPasswordConnect.ts
│ │ │ ├── jupyterRequest.ts
│ │ │ ├── jupyterSelfCertsError.ts
│ │ │ ├── jupyterServer.ts
│ │ │ ├── jupyterServerWrapper.ts
│ │ │ ├── jupyterSession.ts
│ │ │ ├── jupyterSessionManager.ts
│ │ │ ├── jupyterSessionManagerFactory.ts
│ │ │ ├── jupyterUtils.ts
│ │ │ ├── jupyterVariables.ts
│ │ │ ├── jupyterWaitForIdleError.ts
│ │ │ ├── jupyterWebSocket.ts
│ │ │ ├── jupyterZMQBinariesNotFoundError.ts
│ │ │ ├── kernelVariables.ts
│ │ │ ├── kernels
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── jupyterKernelPromiseFailedError.ts
│ │ │ │ ├── jupyterKernelSpec.ts
│ │ │ │ ├── kernelDependencyService.ts
│ │ │ │ ├── kernelSelections.ts
│ │ │ │ ├── kernelSelector.ts
│ │ │ │ ├── kernelService.ts
│ │ │ │ ├── kernelSwitcher.ts
│ │ │ │ └── types.ts
│ │ │ ├── liveshare
│ │ │ │ ├── guestJupyterExecution.ts
│ │ │ │ ├── guestJupyterNotebook.ts
│ │ │ │ ├── guestJupyterServer.ts
│ │ │ │ ├── guestJupyterSessionManager.ts
│ │ │ │ ├── guestJupyterSessionManagerFactory.ts
│ │ │ │ ├── hostJupyterExecution.ts
│ │ │ │ ├── hostJupyterNotebook.ts
│ │ │ │ ├── hostJupyterServer.ts
│ │ │ │ ├── liveShareParticipantMixin.ts
│ │ │ │ ├── responseQueue.ts
│ │ │ │ ├── roleBasedFactory.ts
│ │ │ │ ├── serverCache.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── notebookStarter.ts
│ │ │ ├── oldJupyterVariables.ts
│ │ │ ├── serverPreload.ts
│ │ │ ├── serverSelector.ts
│ │ │ └── variableScriptLoader.ts
│ │ ├── jupyterDebugService.ts
│ │ ├── jupyterUriProviderRegistration.ts
│ │ ├── jupyterUriProviderWrapper.ts
│ │ ├── kernel-launcher
│ │ │ ├── helpers.ts
│ │ │ ├── kernelDaemon.ts
│ │ │ ├── kernelDaemonPool.ts
│ │ │ ├── kernelDaemonPreWarmer.ts
│ │ │ ├── kernelFinder.ts
│ │ │ ├── kernelLauncher.ts
│ │ │ ├── kernelLauncherDaemon.ts
│ │ │ ├── kernelProcess.ts
│ │ │ └── types.ts
│ │ ├── kernelSocketWrapper.ts
│ │ ├── liveshare
│ │ │ ├── liveshare.ts
│ │ │ ├── liveshareProxy.ts
│ │ │ ├── postOffice.ts
│ │ │ └── serviceProxy.ts
│ │ ├── messages.ts
│ │ ├── monacoMessages.ts
│ │ ├── multiplexingDebugService.ts
│ │ ├── notebook
│ │ │ ├── constants.ts
│ │ │ ├── contentProvider.ts
│ │ │ ├── executionService.ts
│ │ │ ├── helpers
│ │ │ │ ├── executionHelpers.ts
│ │ │ │ └── helpers.ts
│ │ │ ├── integration.ts
│ │ │ ├── notebookDisposeService.ts
│ │ │ ├── notebookEditor.ts
│ │ │ ├── notebookEditorCompatibilitySupport.ts
│ │ │ ├── notebookEditorProvider.ts
│ │ │ ├── notebookEditorProviderWrapper.ts
│ │ │ ├── notebookKernel.ts
│ │ │ ├── renderer.ts
│ │ │ ├── rendererExtension.ts
│ │ │ ├── rendererExtensionDownloader.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ ├── survey.ts
│ │ │ └── types.ts
│ │ ├── notebookAndInteractiveTracker.ts
│ │ ├── notebookStorage
│ │ │ ├── baseModel.ts
│ │ │ ├── factory.ts
│ │ │ ├── nativeEditorProvider.ts
│ │ │ ├── nativeEditorStorage.ts
│ │ │ ├── notebookModel.ts
│ │ │ ├── notebookModelEditEvent.ts
│ │ │ ├── notebookStorageProvider.ts
│ │ │ ├── types.ts
│ │ │ └── vscNotebookModel.ts
│ │ ├── plotting
│ │ │ ├── plotViewer.ts
│ │ │ ├── plotViewerMessageListener.ts
│ │ │ ├── plotViewerProvider.ts
│ │ │ └── types.ts
│ │ ├── preWarmVariables.ts
│ │ ├── progress
│ │ │ ├── decorator.ts
│ │ │ ├── messages.ts
│ │ │ ├── progressReporter.ts
│ │ │ └── types.ts
│ │ ├── raw-kernel
│ │ │ ├── liveshare
│ │ │ │ ├── guestRawNotebookProvider.ts
│ │ │ │ └── hostRawNotebookProvider.ts
│ │ │ ├── rawJupyterSession.ts
│ │ │ ├── rawKernel.ts
│ │ │ ├── rawNotebookProvider.ts
│ │ │ ├── rawNotebookProviderWrapper.ts
│ │ │ ├── rawNotebookSupportedService.ts
│ │ │ ├── rawSession.ts
│ │ │ └── rawSocket.ts
│ │ ├── serviceRegistry.ts
│ │ ├── shiftEnterBanner.ts
│ │ ├── statusProvider.ts
│ │ ├── themeFinder.ts
│ │ ├── types.ts
│ │ ├── utils.ts
│ │ └── webViewHost.ts
│ ├── debugger
│ │ ├── constants.ts
│ │ ├── extension
│ │ │ ├── adapter
│ │ │ │ ├── activator.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── logging.ts
│ │ │ │ ├── outdatedDebuggerPrompt.ts
│ │ │ │ ├── remoteLaunchers.ts
│ │ │ │ └── types.ts
│ │ │ ├── attachQuickPick
│ │ │ │ ├── factory.ts
│ │ │ │ ├── picker.ts
│ │ │ │ ├── provider.ts
│ │ │ │ ├── psProcessParser.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── wmicProcessParser.ts
│ │ │ ├── banner.ts
│ │ │ ├── configuration
│ │ │ │ ├── debugConfigurationService.ts
│ │ │ │ ├── launch.json
│ │ │ │ │ ├── completionProvider.ts
│ │ │ │ │ ├── interpreterPathCommand.ts
│ │ │ │ │ └── updaterService.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── djangoLaunch.ts
│ │ │ │ │ ├── fileLaunch.ts
│ │ │ │ │ ├── flaskLaunch.ts
│ │ │ │ │ ├── moduleLaunch.ts
│ │ │ │ │ ├── pidAttach.ts
│ │ │ │ │ ├── providerFactory.ts
│ │ │ │ │ ├── pyramidLaunch.ts
│ │ │ │ │ └── remoteAttach.ts
│ │ │ │ ├── resolvers
│ │ │ │ │ ├── attach.ts
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── helper.ts
│ │ │ │ │ └── launch.ts
│ │ │ │ └── types.ts
│ │ │ ├── helpers
│ │ │ │ └── protocolParser.ts
│ │ │ ├── hooks
│ │ │ │ ├── childProcessAttachHandler.ts
│ │ │ │ ├── childProcessAttachService.ts
│ │ │ │ ├── constants.ts
│ │ │ │ ├── eventHandlerDispatcher.ts
│ │ │ │ └── types.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ └── types.ts
│ │ └── types.ts
│ ├── extension.ts
│ ├── extensionActivation.ts
│ ├── extensionInit.ts
│ ├── formatters
│ │ ├── autoPep8Formatter.ts
│ │ ├── baseFormatter.ts
│ │ ├── blackFormatter.ts
│ │ ├── dummyFormatter.ts
│ │ ├── helper.ts
│ │ ├── lineFormatter.ts
│ │ ├── serviceRegistry.ts
│ │ ├── types.ts
│ │ └── yapfFormatter.ts
│ ├── interpreter
│ │ ├── activation
│ │ │ ├── preWarmVariables.ts
│ │ │ ├── service.ts
│ │ │ ├── terminalEnvironmentActivationService.ts
│ │ │ ├── types.ts
│ │ │ └── wrapperEnvironmentActivationService.ts
│ │ ├── autoSelection
│ │ │ ├── constants.ts
│ │ │ ├── index.ts
│ │ │ ├── interpreterSecurity
│ │ │ │ ├── interpreterEvaluation.ts
│ │ │ │ ├── interpreterSecurityService.ts
│ │ │ │ └── interpreterSecurityStorage.ts
│ │ │ ├── proxy.ts
│ │ │ ├── rules
│ │ │ │ ├── baseRule.ts
│ │ │ │ ├── cached.ts
│ │ │ │ ├── currentPath.ts
│ │ │ │ ├── settings.ts
│ │ │ │ ├── system.ts
│ │ │ │ ├── winRegistry.ts
│ │ │ │ └── workspaceEnv.ts
│ │ │ └── types.ts
│ │ ├── configuration
│ │ │ ├── interpreterComparer.ts
│ │ │ ├── interpreterSelector
│ │ │ │ ├── commands
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── resetInterpreter.ts
│ │ │ │ │ ├── setInterpreter.ts
│ │ │ │ │ └── setShebangInterpreter.ts
│ │ │ │ └── interpreterSelector.ts
│ │ │ ├── pythonPathUpdaterService.ts
│ │ │ ├── pythonPathUpdaterServiceFactory.ts
│ │ │ ├── services
│ │ │ │ ├── globalUpdaterService.ts
│ │ │ │ ├── workspaceFolderUpdaterService.ts
│ │ │ │ └── workspaceUpdaterService.ts
│ │ │ └── types.ts
│ │ ├── contracts.ts
│ │ ├── display
│ │ │ ├── index.ts
│ │ │ ├── interpreterSelectionTip.ts
│ │ │ ├── progressDisplay.ts
│ │ │ └── shebangCodeLensProvider.ts
│ │ ├── helpers.ts
│ │ ├── interpreterService.ts
│ │ ├── interpreterVersion.ts
│ │ ├── locators
│ │ │ └── types.ts
│ │ ├── serviceRegistry.ts
│ │ └── virtualEnvs
│ │ │ ├── condaInheritEnvPrompt.ts
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── virtualEnvPrompt.ts
│ ├── ioc
│ │ ├── container.ts
│ │ ├── index.ts
│ │ ├── serviceManager.ts
│ │ └── types.ts
│ ├── language
│ │ ├── braceCounter.ts
│ │ ├── characterStream.ts
│ │ ├── characters.ts
│ │ ├── iterableTextRange.ts
│ │ ├── languageConfiguration.ts
│ │ ├── textBuilder.ts
│ │ ├── textIterator.ts
│ │ ├── textRangeCollection.ts
│ │ ├── tokenizer.ts
│ │ ├── types.ts
│ │ └── unicode.ts
│ ├── languageServices
│ │ ├── jediProxyFactory.ts
│ │ └── proposeLanguageServerBanner.ts
│ ├── linters
│ │ ├── bandit.ts
│ │ ├── baseLinter.ts
│ │ ├── constants.ts
│ │ ├── errorHandlers
│ │ │ ├── baseErrorHandler.ts
│ │ │ ├── errorHandler.ts
│ │ │ ├── notInstalled.ts
│ │ │ └── standard.ts
│ │ ├── flake8.ts
│ │ ├── linterAvailability.ts
│ │ ├── linterCommands.ts
│ │ ├── linterInfo.ts
│ │ ├── linterManager.ts
│ │ ├── lintingEngine.ts
│ │ ├── mypy.ts
│ │ ├── prospector.ts
│ │ ├── pycodestyle.ts
│ │ ├── pydocstyle.ts
│ │ ├── pylama.ts
│ │ ├── pylint.ts
│ │ ├── serviceRegistry.ts
│ │ └── types.ts
│ ├── logging
│ │ ├── _global.ts
│ │ ├── formatters.ts
│ │ ├── index.ts
│ │ ├── levels.ts
│ │ ├── logger.ts
│ │ ├── trace.ts
│ │ ├── transports.ts
│ │ └── util.ts
│ ├── providers
│ │ ├── codeActionProvider
│ │ │ ├── launchJsonCodeActionProvider.ts
│ │ │ ├── main.ts
│ │ │ └── pythonCodeActionProvider.ts
│ │ ├── completionProvider.ts
│ │ ├── completionSource.ts
│ │ ├── definitionProvider.ts
│ │ ├── docStringFoldingProvider.ts
│ │ ├── formatProvider.ts
│ │ ├── hoverProvider.ts
│ │ ├── importSortProvider.ts
│ │ ├── itemInfoSource.ts
│ │ ├── jediProxy.ts
│ │ ├── linterProvider.ts
│ │ ├── objectDefinitionProvider.ts
│ │ ├── providerUtilities.ts
│ │ ├── referenceProvider.ts
│ │ ├── renameProvider.ts
│ │ ├── replProvider.ts
│ │ ├── serviceRegistry.ts
│ │ ├── signatureProvider.ts
│ │ ├── simpleRefactorProvider.ts
│ │ ├── symbolProvider.ts
│ │ ├── terminalProvider.ts
│ │ └── types.ts
│ ├── pythonEnvironments
│ │ ├── discovery
│ │ │ ├── globalenv.ts
│ │ │ ├── index.ts
│ │ │ ├── locators
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── progressService.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── KnownPathsService.ts
│ │ │ │ │ ├── baseVirtualEnvService.ts
│ │ │ │ │ ├── cacheableLocatorService.ts
│ │ │ │ │ ├── conda.ts
│ │ │ │ │ ├── condaEnvFileService.ts
│ │ │ │ │ ├── condaEnvService.ts
│ │ │ │ │ ├── condaHelper.ts
│ │ │ │ │ ├── condaService.ts
│ │ │ │ │ ├── currentPathService.ts
│ │ │ │ │ ├── globalVirtualEnvService.ts
│ │ │ │ │ ├── hashProvider.ts
│ │ │ │ │ ├── hashProviderFactory.ts
│ │ │ │ │ ├── interpreterFilter.ts
│ │ │ │ │ ├── interpreterWatcherBuilder.ts
│ │ │ │ │ ├── pipEnvService.ts
│ │ │ │ │ ├── pipEnvServiceHelper.ts
│ │ │ │ │ ├── windowsRegistryService.ts
│ │ │ │ │ ├── windowsStoreInterpreter.ts
│ │ │ │ │ ├── workspaceVirtualEnvService.ts
│ │ │ │ │ └── workspaceVirtualEnvWatcherService.ts
│ │ │ │ └── types.ts
│ │ │ └── subenv.ts
│ │ ├── exec.ts
│ │ ├── info
│ │ │ ├── executable.ts
│ │ │ ├── index.ts
│ │ │ ├── interpreter.ts
│ │ │ └── pythonVersion.ts
│ │ └── legacyIOC.ts
│ ├── refactor
│ │ └── proxy.ts
│ ├── sourceMapSupport.ts
│ ├── startupTelemetry.ts
│ ├── telemetry
│ │ ├── constants.ts
│ │ ├── envFileTelemetry.ts
│ │ ├── importTracker.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── terminals
│ │ ├── activation.ts
│ │ ├── codeExecution
│ │ │ ├── codeExecutionManager.ts
│ │ │ ├── djangoContext.ts
│ │ │ ├── djangoShellCodeExecution.ts
│ │ │ ├── helper.ts
│ │ │ ├── repl.ts
│ │ │ └── terminalCodeExecution.ts
│ │ ├── serviceRegistry.ts
│ │ └── types.ts
│ ├── testing
│ │ ├── codeLenses
│ │ │ ├── main.ts
│ │ │ └── testFiles.ts
│ │ ├── common
│ │ │ ├── argumentsHelper.ts
│ │ │ ├── constants.ts
│ │ │ ├── debugLauncher.ts
│ │ │ ├── enablementTracker.ts
│ │ │ ├── managers
│ │ │ │ ├── baseTestManager.ts
│ │ │ │ └── testConfigurationManager.ts
│ │ │ ├── runner.ts
│ │ │ ├── services
│ │ │ │ ├── configSettingService.ts
│ │ │ │ ├── contextService.ts
│ │ │ │ ├── discoveredTestParser.ts
│ │ │ │ ├── discovery.ts
│ │ │ │ ├── storageService.ts
│ │ │ │ ├── testManagerService.ts
│ │ │ │ ├── testResultsService.ts
│ │ │ │ ├── testsStatusService.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── unitTestDiagnosticService.ts
│ │ │ │ └── workspaceTestManagerService.ts
│ │ │ ├── testUtils.ts
│ │ │ ├── testVisitors
│ │ │ │ ├── flatteningVisitor.ts
│ │ │ │ ├── resultResetVisitor.ts
│ │ │ │ └── visitor.ts
│ │ │ ├── types.ts
│ │ │ ├── updateTestSettings.ts
│ │ │ └── xUnitParser.ts
│ │ ├── configuration.ts
│ │ ├── configurationFactory.ts
│ │ ├── display
│ │ │ ├── main.ts
│ │ │ └── picker.ts
│ │ ├── explorer
│ │ │ ├── commandHandlers.ts
│ │ │ ├── failedTestHandler.ts
│ │ │ ├── testTreeViewItem.ts
│ │ │ ├── testTreeViewProvider.ts
│ │ │ └── treeView.ts
│ │ ├── main.ts
│ │ ├── navigation
│ │ │ ├── commandHandler.ts
│ │ │ ├── fileNavigator.ts
│ │ │ ├── functionNavigator.ts
│ │ │ ├── helper.ts
│ │ │ ├── serviceRegistry.ts
│ │ │ ├── suiteNavigator.ts
│ │ │ ├── symbolProvider.ts
│ │ │ └── types.ts
│ │ ├── nosetest
│ │ │ ├── main.ts
│ │ │ ├── runner.ts
│ │ │ ├── services
│ │ │ │ ├── argsService.ts
│ │ │ │ ├── discoveryService.ts
│ │ │ │ └── parserService.ts
│ │ │ └── testConfigurationManager.ts
│ │ ├── pytest
│ │ │ ├── main.ts
│ │ │ ├── runner.ts
│ │ │ ├── services
│ │ │ │ ├── argsService.ts
│ │ │ │ ├── discoveryService.ts
│ │ │ │ └── testMessageService.ts
│ │ │ └── testConfigurationManager.ts
│ │ ├── serviceRegistry.ts
│ │ ├── types.ts
│ │ └── unittest
│ │ │ ├── helper.ts
│ │ │ ├── main.ts
│ │ │ ├── runner.ts
│ │ │ ├── services
│ │ │ ├── argsService.ts
│ │ │ ├── discoveryService.ts
│ │ │ └── parserService.ts
│ │ │ ├── socketServer.ts
│ │ │ └── testConfigurationManager.ts
│ ├── typeFormatters
│ │ ├── blockFormatProvider.ts
│ │ ├── codeBlockFormatProvider.ts
│ │ ├── contracts.ts
│ │ ├── dispatcher.ts
│ │ └── onEnterFormatter.ts
│ └── workspaceSymbols
│ │ ├── contracts.ts
│ │ ├── generator.ts
│ │ ├── main.ts
│ │ ├── parser.ts
│ │ └── provider.ts
├── datascience-ui
│ ├── common
│ │ ├── cellFactory.ts
│ │ ├── index.css
│ │ ├── index.ts
│ │ └── main.ts
│ ├── data-explorer
│ │ ├── cellFormatter.css
│ │ ├── cellFormatter.tsx
│ │ ├── emptyRowsView.css
│ │ ├── emptyRowsView.tsx
│ │ ├── globalJQueryImports.ts
│ │ ├── index.html
│ │ ├── index.tsx
│ │ ├── mainPanel.css
│ │ ├── mainPanel.tsx
│ │ ├── progressBar.css
│ │ ├── progressBar.tsx
│ │ ├── reactSlickGrid.css
│ │ ├── reactSlickGrid.tsx
│ │ ├── reactSlickGridFilterBox.css
│ │ ├── reactSlickGridFilterBox.tsx
│ │ └── testData.ts
│ ├── history-react
│ │ ├── index.html
│ │ ├── index.tsx
│ │ ├── interactiveCell.tsx
│ │ ├── interactivePanel.less
│ │ ├── interactivePanel.tsx
│ │ └── redux
│ │ │ ├── actions.ts
│ │ │ ├── mapping.ts
│ │ │ ├── reducers
│ │ │ ├── creation.ts
│ │ │ ├── effects.ts
│ │ │ ├── execution.ts
│ │ │ └── index.ts
│ │ │ └── store.ts
│ ├── interactive-common
│ │ ├── buildSettingsCss.ts
│ │ ├── cellInput.tsx
│ │ ├── cellOutput.tsx
│ │ ├── code.tsx
│ │ ├── collapseButton.tsx
│ │ ├── common.css
│ │ ├── contentPanel.tsx
│ │ ├── editor.tsx
│ │ ├── executionCount.tsx
│ │ ├── handlers.ts
│ │ ├── images.d.ts
│ │ ├── informationMessages.tsx
│ │ ├── inputHistory.ts
│ │ ├── intellisenseProvider.ts
│ │ ├── jupyterInfo.tsx
│ │ ├── mainState.ts
│ │ ├── markdown.tsx
│ │ ├── markdownManipulation.ts
│ │ ├── redux
│ │ │ ├── helpers.ts
│ │ │ ├── postOffice.ts
│ │ │ ├── reducers
│ │ │ │ ├── commonEffects.ts
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── kernel.ts
│ │ │ │ ├── monaco.ts
│ │ │ │ ├── transfer.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── variables.ts
│ │ │ └── store.ts
│ │ ├── tokenizer.ts
│ │ ├── transforms.tsx
│ │ ├── trimmedOutputLink.tsx
│ │ ├── trustMessage.tsx
│ │ ├── utils.ts
│ │ ├── variableExplorer.css
│ │ ├── variableExplorer.tsx
│ │ ├── variableExplorerButtonCellFormatter.css
│ │ ├── variableExplorerButtonCellFormatter.tsx
│ │ ├── variableExplorerCellFormatter.css
│ │ ├── variableExplorerCellFormatter.tsx
│ │ ├── variableExplorerEmptyRows.css
│ │ ├── variableExplorerEmptyRows.tsx
│ │ ├── variableExplorerGrid.less
│ │ ├── variableExplorerHeaderCellFormatter.tsx
│ │ ├── variableExplorerRowRenderer.tsx
│ │ └── variablePanel.tsx
│ ├── ipywidgets
│ │ ├── README.md
│ │ ├── container.tsx
│ │ ├── incompatibleWidgetHandler.ts
│ │ ├── index.ts
│ │ ├── kernel.ts
│ │ ├── manager.ts
│ │ ├── requirejsRegistry.ts
│ │ └── types.ts
│ ├── native-editor
│ │ ├── addCellLine.tsx
│ │ ├── index.html
│ │ ├── index.tsx
│ │ ├── nativeCell.tsx
│ │ ├── nativeEditor.less
│ │ ├── nativeEditor.tsx
│ │ ├── redux
│ │ │ ├── actions.ts
│ │ │ ├── mapping.ts
│ │ │ ├── reducers
│ │ │ │ ├── creation.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── execution.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── movement.ts
│ │ │ └── store.ts
│ │ └── toolbar.tsx
│ ├── plot
│ │ ├── index.html
│ │ ├── index.tsx
│ │ ├── mainPanel.css
│ │ ├── mainPanel.tsx
│ │ ├── testSvg.ts
│ │ ├── toolbar.css
│ │ └── toolbar.tsx
│ ├── react-common
│ │ ├── arePathsSame.ts
│ │ ├── button.tsx
│ │ ├── codicon
│ │ │ ├── codicon-animations.css
│ │ │ ├── codicon-modifications.css
│ │ │ ├── codicon.css
│ │ │ ├── codicon.ts
│ │ │ └── codicon.ttf
│ │ ├── constants.ts
│ │ ├── errorBoundary.tsx
│ │ ├── event.ts
│ │ ├── flyout.css
│ │ ├── flyout.tsx
│ │ ├── image.tsx
│ │ ├── imageButton.css
│ │ ├── imageButton.tsx
│ │ ├── images
│ │ │ ├── Cancel
│ │ │ │ ├── Cancel_16xMD_vscode.svg
│ │ │ │ └── Cancel_16xMD_vscode_dark.svg
│ │ │ ├── ClearAllOutput
│ │ │ │ ├── clear_all_output_dark.svg
│ │ │ │ └── clear_all_output_light.svg
│ │ │ ├── CollapseAll
│ │ │ │ ├── CollapseAll_16x_vscode.svg
│ │ │ │ └── CollapseAll_16x_vscode_dark.svg
│ │ │ ├── Copy
│ │ │ │ ├── copy.svg
│ │ │ │ └── copy_inverse.svg
│ │ │ ├── Delete
│ │ │ │ ├── delete_dark.svg
│ │ │ │ └── delete_light.svg
│ │ │ ├── Down
│ │ │ │ ├── down-inverse.svg
│ │ │ │ └── down.svg
│ │ │ ├── ExpandAll
│ │ │ │ ├── ExpandAll_16x_vscode.svg
│ │ │ │ └── ExpandAll_16x_vscode_dark.svg
│ │ │ ├── ExportToPython
│ │ │ │ ├── export_to_python_dark.svg
│ │ │ │ └── export_to_python_light.svg
│ │ │ ├── GatherCode
│ │ │ │ ├── gather_dark.svg
│ │ │ │ └── gather_light.svg
│ │ │ ├── GoToSourceCode
│ │ │ │ ├── GoToSourceCode_16x_vscode.svg
│ │ │ │ └── GoToSourceCode_16x_vscode_dark.svg
│ │ │ ├── InsertAbove
│ │ │ │ ├── above-inverse.svg
│ │ │ │ └── above.svg
│ │ │ ├── InsertBelow
│ │ │ │ ├── below-inverse.svg
│ │ │ │ └── below.svg
│ │ │ ├── Interrupt
│ │ │ │ ├── Interrupt_16x_vscode.svg
│ │ │ │ └── Interrupt_16x_vscode_dark.svg
│ │ │ ├── JupyterServerConnected
│ │ │ │ ├── connected-dark.svg
│ │ │ │ ├── connected-hc.svg
│ │ │ │ └── connected-light.svg
│ │ │ ├── JupyterServerDisconnected
│ │ │ │ ├── disconnected-dark.svg
│ │ │ │ ├── disconnected-hc.svg
│ │ │ │ └── disconnected-light.svg
│ │ │ ├── Next
│ │ │ │ ├── next-inverse.svg
│ │ │ │ └── next.svg
│ │ │ ├── OpenInNewWindow
│ │ │ │ ├── OpenInNewWindow_16x_vscode.svg
│ │ │ │ └── OpenInNewWindow_16x_vscode_dark.svg
│ │ │ ├── OpenPlot
│ │ │ │ ├── plot_dark.svg
│ │ │ │ └── plot_light.svg
│ │ │ ├── Pan
│ │ │ │ ├── pan.svg
│ │ │ │ └── pan_inverse.svg
│ │ │ ├── PopIn
│ │ │ │ ├── PopIn_16x_vscode.svg
│ │ │ │ └── PopIn_16x_vscode_dark.svg
│ │ │ ├── PopOut
│ │ │ │ ├── PopOut_16x_vscode.svg
│ │ │ │ └── PopOut_16x_vscode_dark.svg
│ │ │ ├── Prev
│ │ │ │ ├── previous-inverse.svg
│ │ │ │ └── previous.svg
│ │ │ ├── Redo
│ │ │ │ ├── Redo_16x_vscode.svg
│ │ │ │ └── Redo_16x_vscode_dark.svg
│ │ │ ├── Restart
│ │ │ │ ├── Restart_grey_16x_vscode.svg
│ │ │ │ └── Restart_grey_16x_vscode_dark.svg
│ │ │ ├── Run
│ │ │ │ ├── run-dark.svg
│ │ │ │ └── run-light.svg
│ │ │ ├── RunAbove
│ │ │ │ ├── runabove-inverse.svg
│ │ │ │ └── runabove.svg
│ │ │ ├── RunAll
│ │ │ │ ├── run_all_dark.svg
│ │ │ │ └── run_all_light.svg
│ │ │ ├── RunBelow
│ │ │ │ ├── runbelow-inverse.svg
│ │ │ │ └── runbelow.svg
│ │ │ ├── RunByLine
│ │ │ │ ├── runbyline_dark.svg
│ │ │ │ └── runbyline_light.svg
│ │ │ ├── SaveAs
│ │ │ │ ├── SaveAs_16x_vscode.svg
│ │ │ │ └── SaveAs_16x_vscode_dark.svg
│ │ │ ├── StartPage
│ │ │ │ ├── Interactive-inverse.svg
│ │ │ │ ├── Interactive.svg
│ │ │ │ ├── Notebook-inverse.svg
│ │ │ │ ├── Notebook.svg
│ │ │ │ ├── OpenFolder-inverse.svg
│ │ │ │ ├── OpenFolder.svg
│ │ │ │ ├── Python-color.svg
│ │ │ │ ├── Python-inverse.svg
│ │ │ │ └── Python.svg
│ │ │ ├── SwitchToCode
│ │ │ │ ├── switchtocode-inverse.svg
│ │ │ │ └── switchtocode.svg
│ │ │ ├── SwitchToMarkdown
│ │ │ │ ├── switchtomarkdown-inverse.svg
│ │ │ │ └── switchtomarkdown.svg
│ │ │ ├── Undo
│ │ │ │ ├── Undo_16x_vscode.svg
│ │ │ │ └── Undo_16x_vscode_dark.svg
│ │ │ ├── Up
│ │ │ │ ├── up-inverse.svg
│ │ │ │ └── up.svg
│ │ │ ├── VariableExplorer
│ │ │ │ ├── variable_explorer_dark.svg
│ │ │ │ └── variable_explorer_light.svg
│ │ │ ├── Zoom
│ │ │ │ ├── zoom.svg
│ │ │ │ └── zoom_inverse.svg
│ │ │ └── ZoomOut
│ │ │ │ ├── zoomout.svg
│ │ │ │ └── zoomout_inverse.svg
│ │ ├── locReactSide.ts
│ │ ├── logger.ts
│ │ ├── monacoEditor.css
│ │ ├── monacoEditor.tsx
│ │ ├── monacoHelpers.ts
│ │ ├── postOffice.ts
│ │ ├── progress.css
│ │ ├── progress.tsx
│ │ ├── reduxUtils.ts
│ │ ├── relativeImage.tsx
│ │ ├── settingsReactSide.ts
│ │ ├── styleInjector.tsx
│ │ ├── svgList.css
│ │ ├── svgList.tsx
│ │ ├── svgViewer.css
│ │ ├── svgViewer.tsx
│ │ ├── textMeasure.ts
│ │ └── themeDetector.ts
│ ├── renderers
│ │ ├── constants.ts
│ │ ├── index.tsx
│ │ ├── render.tsx
│ │ └── webviewApi.d.ts
│ └── startPage
│ │ ├── index.html
│ │ ├── index.tsx
│ │ ├── startPage.css
│ │ └── startPage.tsx
├── ipywidgets
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── package.json
│ ├── scripts
│ │ ├── clean.js
│ │ └── copyfiles.js
│ ├── src
│ │ ├── documentContext.ts
│ │ ├── embed.ts
│ │ ├── index.ts
│ │ ├── libembed.ts
│ │ ├── manager.ts
│ │ ├── signal.ts
│ │ ├── widgetLoader.ts
│ │ └── widgets.css
│ ├── tsconfig.json
│ ├── types
│ │ ├── index.d.ts
│ │ └── require.js.d.ts
│ └── webpack.config.js
├── test
│ ├── .vscode
│ │ ├── launch.json
│ │ ├── launch.json.README
│ │ ├── settings.json
│ │ └── tags
│ ├── activation
│ │ ├── aaTesting.unit.test.ts
│ │ ├── activationManager.unit.test.ts
│ │ ├── activationService.unit.test.ts
│ │ ├── activeResource.unit.test.ts
│ │ ├── extensionSurvey.unit.test.ts
│ │ ├── languageServer
│ │ │ ├── activator.unit.test.ts
│ │ │ ├── analysisOptions.unit.test.ts
│ │ │ ├── downloadChannelRules.unit.test.ts
│ │ │ ├── downloader.unit.test.ts
│ │ │ ├── languageClientFactory.unit.test.ts
│ │ │ ├── languageServer.unit.test.ts
│ │ │ ├── languageServerCompatibilityService.unit.test.ts
│ │ │ ├── languageServerExtension.unit.test.ts
│ │ │ ├── languageServerFolderService.unit.test.ts
│ │ │ ├── languageServerPackageRepository.unit.test.ts
│ │ │ ├── languageServerPackageService.test.ts
│ │ │ ├── languageServerPackageService.unit.test.ts
│ │ │ ├── manager.unit.test.ts
│ │ │ ├── outputChannel.unit.test.ts
│ │ │ └── platformData.unit.test.ts
│ │ ├── node
│ │ │ ├── activator.unit.test.ts
│ │ │ ├── languageServerChangeHandler.unit.test.ts
│ │ │ └── languageServerFolderService.unit.test.ts
│ │ └── serviceRegistry.unit.test.ts
│ ├── analysisEngineTest.ts
│ ├── api.functional.test.ts
│ ├── application
│ │ └── diagnostics
│ │ │ ├── applicationDiagnostics.unit.test.ts
│ │ │ ├── checks
│ │ │ ├── envPathVariable.unit.test.ts
│ │ │ ├── invalidLaunchJsonDebugger.unit.test.ts
│ │ │ ├── invalidPythonPathInDebugger.unit.test.ts
│ │ │ ├── lsNotSupported.unit.test.ts
│ │ │ ├── macPythonInterpreter.unit.test.ts
│ │ │ ├── powerShellActivation.unit.test.ts
│ │ │ ├── pythonInterpreter.unit.test.ts
│ │ │ ├── pythonPathDeprecated.unit.test.ts
│ │ │ ├── updateTestSettings.unit.test.ts
│ │ │ └── upgradeCodeRunner.unit.test.ts
│ │ │ ├── commands
│ │ │ ├── execVSCCommands.unit.test.ts
│ │ │ ├── factory.unit.test.ts
│ │ │ ├── ignore.unit.test.ts
│ │ │ └── launchBrowser.unit.test.ts
│ │ │ ├── filter.unit.test.ts
│ │ │ ├── promptHandler.unit.test.ts
│ │ │ ├── serviceRegistry.unit.test.ts
│ │ │ └── sourceMapSupportService.unit.test.ts
│ ├── ciConstants.ts
│ ├── common.ts
│ ├── common
│ │ ├── application
│ │ │ └── commands
│ │ │ │ └── reloadCommand.unit.test.ts
│ │ ├── asyncDump.ts
│ │ ├── configSettings.test.ts
│ │ ├── configSettings
│ │ │ ├── configSettings.pythonPath.unit.test.ts
│ │ │ └── configSettings.unit.test.ts
│ │ ├── configuration
│ │ │ ├── service.test.ts
│ │ │ └── service.unit.test.ts
│ │ ├── crypto.unit.test.ts
│ │ ├── dotnet
│ │ │ ├── compatibilityService.unit.test.ts
│ │ │ ├── serviceRegistry.unit.test.ts
│ │ │ └── services
│ │ │ │ ├── linuxCompatibilityService.unit.test.ts
│ │ │ │ ├── macCompatibilityService.unit.test.ts
│ │ │ │ ├── unknownOsCompatibilityService.unit.test.ts
│ │ │ │ └── winCompatibilityService.unit.test.ts
│ │ ├── exitCIAfterTestReporter.ts
│ │ ├── experiments
│ │ │ ├── manager.unit.test.ts
│ │ │ ├── service.unit.test.ts
│ │ │ └── telemetry.unit.test.ts
│ │ ├── extensions.unit.test.ts
│ │ ├── featureDeprecationManager.unit.test.ts
│ │ ├── helpers.test.ts
│ │ ├── insidersBuild
│ │ │ ├── downloadChannelRules.unit.test.ts
│ │ │ ├── downloadChannelService.unit.test.ts
│ │ │ ├── insidersExtensionPrompt.unit.test.ts
│ │ │ └── insidersExtensionService.unit.test.ts
│ │ ├── installer.test.ts
│ │ ├── installer
│ │ │ ├── channelManager.unit.test.ts
│ │ │ ├── condaInstaller.unit.test.ts
│ │ │ ├── extensionBuildInstaller.unit.test.ts
│ │ │ ├── installer.invalidPath.unit.test.ts
│ │ │ ├── installer.unit.test.ts
│ │ │ ├── moduleInstaller.unit.test.ts
│ │ │ ├── pipEnvInstaller.unit.test.ts
│ │ │ ├── pipInstaller.unit.test.ts
│ │ │ ├── poetryInstaller.unit.test.ts
│ │ │ ├── productPath.unit.test.ts
│ │ │ └── serviceRegistry.unit.test.ts
│ │ ├── interpreterPathService.unit.test.ts
│ │ ├── misc.test.ts
│ │ ├── moduleInstaller.test.ts
│ │ ├── net
│ │ │ ├── fileDownloader.unit.test.ts
│ │ │ └── httpClient.unit.test.ts
│ │ ├── nuget
│ │ │ ├── azureBobStoreRepository.functional.test.ts
│ │ │ ├── azureBobStoreRepository.unit.test.ts
│ │ │ ├── nugetRepository.unit.test.ts
│ │ │ └── nugetService.unit.test.ts
│ │ ├── platform
│ │ │ ├── errors.unit.test.ts
│ │ │ ├── filesystem.functional.test.ts
│ │ │ ├── filesystem.test.ts
│ │ │ ├── filesystem.unit.test.ts
│ │ │ ├── fs-paths.functional.test.ts
│ │ │ ├── fs-paths.unit.test.ts
│ │ │ ├── fs-temp.functional.test.ts
│ │ │ ├── fs-temp.unit.test.ts
│ │ │ ├── pathUtils.functional.test.ts
│ │ │ ├── platformService.test.ts
│ │ │ ├── serviceRegistry.unit.test.ts
│ │ │ └── utils.ts
│ │ ├── process
│ │ │ ├── currentProcess.test.ts
│ │ │ ├── decoder.test.ts
│ │ │ ├── execFactory.test.ts
│ │ │ ├── logger.unit.test.ts
│ │ │ ├── proc.exec.test.ts
│ │ │ ├── proc.observable.test.ts
│ │ │ ├── proc.unit.test.ts
│ │ │ ├── processFactory.unit.test.ts
│ │ │ ├── pythonDaemon.functional.test.ts
│ │ │ ├── pythonDaemonPool.functional.test.ts
│ │ │ ├── pythonDaemonPool.unit.test.ts
│ │ │ ├── pythonEnvironment.unit.test.ts
│ │ │ ├── pythonExecutionFactory.unit.test.ts
│ │ │ ├── pythonProc.simple.multiroot.test.ts
│ │ │ ├── pythonProcess.unit.test.ts
│ │ │ ├── pythonToolService.unit.test.ts
│ │ │ └── serviceRegistry.unit.test.ts
│ │ ├── randomWords.txt
│ │ ├── serviceRegistry.unit.test.ts
│ │ ├── socketCallbackHandler.test.ts
│ │ ├── socketStream.test.ts
│ │ ├── terminals
│ │ │ ├── activation.bash.unit.test.ts
│ │ │ ├── activation.commandPrompt.unit.test.ts
│ │ │ ├── activation.conda.unit.test.ts
│ │ │ ├── activation.unit.test.ts
│ │ │ ├── activator
│ │ │ │ ├── base.unit.test.ts
│ │ │ │ ├── index.unit.test.ts
│ │ │ │ └── powerShellFailedHandler.unit.test.ts
│ │ │ ├── commandPrompt.unit.test.ts
│ │ │ ├── environmentActivationProviders
│ │ │ │ ├── pipEnvActivationProvider.unit.test.ts
│ │ │ │ └── terminalActivation.testvirtualenvs.ts
│ │ │ ├── factory.unit.test.ts
│ │ │ ├── helper.unit.test.ts
│ │ │ ├── pyenvActivationProvider.unit.test.ts
│ │ │ ├── service.unit.test.ts
│ │ │ ├── serviceRegistry.unit.test.ts
│ │ │ ├── shellDetector.unit.test.ts
│ │ │ ├── shellDetectors
│ │ │ │ └── shellDetectors.unit.test.ts
│ │ │ └── synchronousTerminalService.unit.test.ts
│ │ ├── utils
│ │ │ ├── async.unit.test.ts
│ │ │ ├── cacheUtils.unit.test.ts
│ │ │ ├── decorators.unit.test.ts
│ │ │ ├── localize.functional.test.ts
│ │ │ ├── regexp.unit.test.ts
│ │ │ └── text.unit.test.ts
│ │ └── variables
│ │ │ ├── envVarsProvider.multiroot.test.ts
│ │ │ ├── envVarsService.functional.test.ts
│ │ │ ├── envVarsService.test.ts
│ │ │ ├── envVarsService.unit.test.ts
│ │ │ ├── environmentVariablesProvider.unit.test.ts
│ │ │ └── serviceRegistry.unit.test.ts
│ ├── configuration
│ │ └── interpreterSelector
│ │ │ ├── commands
│ │ │ ├── resetInterpreter.unit.test.ts
│ │ │ └── setInterpreter.unit.test.ts
│ │ │ └── interpreterSelector.unit.test.ts
│ ├── constants.ts
│ ├── core.ts
│ ├── datascience
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── DefaultSalesReport.csv
│ │ ├── activation.unit.test.ts
│ │ ├── cellFactory.unit.test.ts
│ │ ├── cellMatcher.unit.test.ts
│ │ ├── color.test.ts
│ │ ├── commands
│ │ │ ├── commandRegistry.unit.test.ts
│ │ │ ├── notebookCommands.functional.test.ts
│ │ │ └── serverSelector.unit.test.ts
│ │ ├── common.unit.test.ts
│ │ ├── crossProcessLock.unit.test.ts
│ │ ├── data-viewing
│ │ │ ├── dataViewer.unit.test.ts
│ │ │ └── dataViewerPDependencyService.unit.test.ts
│ │ ├── dataScienceIocContainer.ts
│ │ ├── datascience.unit.test.ts
│ │ ├── datascienceSurveyBanner.unit.test.ts
│ │ ├── dataviewer.functional.test.tsx
│ │ ├── debugLocationTracker.unit.test.ts
│ │ ├── debugger.functional.test.tsx
│ │ ├── dsTestSetup.ts
│ │ ├── editor-integration
│ │ │ ├── cellhashprovider.unit.test.ts
│ │ │ ├── codelensprovider.unit.test.ts
│ │ │ ├── codewatcher.unit.test.ts
│ │ │ ├── gotocell.functional.test.ts
│ │ │ └── helpers.ts
│ │ ├── errorHandler.functional.test.tsx
│ │ ├── errorHandler.unit.test.ts
│ │ ├── execution.unit.test.ts
│ │ ├── executionServiceMock.ts
│ │ ├── export
│ │ │ ├── exportFileOpener.unit.test.ts
│ │ │ ├── exportManager.test.ts
│ │ │ ├── exportToHTML.test.ts
│ │ │ ├── exportToPython.test.ts
│ │ │ ├── exportUtil.test.ts
│ │ │ ├── test.ipynb
│ │ │ └── testPDF.ipynb
│ │ ├── extensionapi
│ │ │ └── exampleextension
│ │ │ │ └── ms-ai-tools-test
│ │ │ │ ├── .eslintrc.js
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ └── launch.json
│ │ │ │ ├── .vscodeignore
│ │ │ │ ├── README.md
│ │ │ │ ├── package-lock.json
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ ├── extension.ts
│ │ │ │ ├── serverPicker.ts
│ │ │ │ └── typings
│ │ │ │ │ └── python.d.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── webpack.config.js
│ │ ├── foo.py
│ │ ├── helpers.ts
│ │ ├── inputHistory.unit.test.ts
│ │ ├── intellisense.functional.test.tsx
│ │ ├── intellisense.unit.test.ts
│ │ ├── interactive-common
│ │ │ ├── notebookProvider.unit.test.ts
│ │ │ ├── notebookServerProvider.unit.test.ts
│ │ │ ├── trustCommandHandler.unit.test.ts
│ │ │ └── trustService.unit.test.ts
│ │ ├── interactive-ipynb
│ │ │ ├── nativeEditorProvider.functional.test.ts
│ │ │ └── nativeEditorStorage.unit.test.ts
│ │ ├── interactivePanel.functional.test.tsx
│ │ ├── interactiveWindow.functional.test.tsx
│ │ ├── interactiveWindowCommandListener.unit.test.ts
│ │ ├── interactiveWindowTestHelpers.tsx
│ │ ├── ipywidgets
│ │ │ ├── cdnWidgetScriptSourceProvider.unit.test.ts
│ │ │ ├── incompatibleWidgetHandler.unit.test.ts
│ │ │ ├── ipyWidgetScriptSourceProvider.unit.test.ts
│ │ │ └── localWidgetScriptSourceProvider.unit.test.ts
│ │ ├── jupyter
│ │ │ ├── interpreter
│ │ │ │ ├── jupyterInterpreterDependencyService.unit.test.ts
│ │ │ │ ├── jupyterInterpreterSelectionCommand.unit.test.ts
│ │ │ │ ├── jupyterInterpreterSelector.unit.test.ts
│ │ │ │ ├── jupyterInterpreterService.unit.test.ts
│ │ │ │ ├── jupyterInterpreterStateStore.unit.test.ts
│ │ │ │ └── jupyterInterpreterSubCommandExecutionService.unit.test.ts
│ │ │ ├── jupyterCellOutputMimeTypeTracker.unit.test.ts
│ │ │ ├── jupyterConnection.unit.test.ts
│ │ │ ├── jupyterSession.unit.test.ts
│ │ │ ├── kernels
│ │ │ │ ├── kernelDependencyService.unit.test.ts
│ │ │ │ ├── kernelSelections.unit.test.ts
│ │ │ │ ├── kernelSelector.unit.test.ts
│ │ │ │ ├── kernelService.unit.test.ts
│ │ │ │ └── kernelSwitcher.unit.test.ts
│ │ │ ├── serverCache.unit.test.ts
│ │ │ └── serverSelector.unit.test.ts
│ │ ├── jupyterHelpers.ts
│ │ ├── jupyterPasswordConnect.unit.test.ts
│ │ ├── jupyterUriProviderRegistration.functional.test.ts
│ │ ├── jupyterUriProviderRegistration.unit.test.ts
│ │ ├── jupyterUtils.unit.test.ts
│ │ ├── kernel-launcher
│ │ │ ├── kernelDaemonPool.unit.test.ts
│ │ │ ├── kernelDaemonPoolPreWarmer.unit.test.ts
│ │ │ └── kernelLauncherDaemon.unit.test.ts
│ │ ├── kernelFinder.unit.test.ts
│ │ ├── kernelLauncher.functional.test.ts
│ │ ├── liveloss.py
│ │ ├── liveshare.functional.test.tsx
│ │ ├── mainState.unit.test.ts
│ │ ├── manualTestFiles
│ │ │ ├── manualTestFile.py
│ │ │ └── manualTestFileNoCells.py
│ │ ├── markdownManipulation.unit.test.ts
│ │ ├── matplotlib.txt
│ │ ├── mockCode2ProtocolConverter.ts
│ │ ├── mockCommandManager.ts
│ │ ├── mockCustomEditorService.ts
│ │ ├── mockDebugService.ts
│ │ ├── mockDocument.ts
│ │ ├── mockDocumentManager.ts
│ │ ├── mockExtensions.ts
│ │ ├── mockFileSystem.ts
│ │ ├── mockInputBox.ts
│ │ ├── mockJupyterManager.ts
│ │ ├── mockJupyterManagerFactory.ts
│ │ ├── mockJupyterNotebook.ts
│ │ ├── mockJupyterRequest.ts
│ │ ├── mockJupyterServer.ts
│ │ ├── mockJupyterSession.ts
│ │ ├── mockKernelFinder.ts
│ │ ├── mockLanguageClient.ts
│ │ ├── mockLanguageServer.ts
│ │ ├── mockLanguageServerAnalysisOptions.ts
│ │ ├── mockLanguageServerCache.ts
│ │ ├── mockLanguageServerProxy.ts
│ │ ├── mockLiveShare.ts
│ │ ├── mockProcessService.ts
│ │ ├── mockProtocol2CodeConverter.ts
│ │ ├── mockPythonService.ts
│ │ ├── mockPythonSettings.ts
│ │ ├── mockQuickPick.ts
│ │ ├── mockStatusProvider.ts
│ │ ├── mockTextEditor.ts
│ │ ├── mockWorkspaceConfig.ts
│ │ ├── mockWorkspaceConfiguration.ts
│ │ ├── mockWorkspaceFolder.ts
│ │ ├── mountedWebView.ts
│ │ ├── mountedWebViewFactory.ts
│ │ ├── nativeEditor.functional.test.tsx
│ │ ├── nativeEditor.toolbar.functional.test.tsx
│ │ ├── nativeEditorTestHelpers.tsx
│ │ ├── nativeEditorViewTracker.unit.test.ts
│ │ ├── notebook.functional.test.ts
│ │ ├── notebook
│ │ │ ├── cellOutput.ds.test.ts
│ │ │ ├── contentProvider.ds.test.ts
│ │ │ ├── contentProvider.unit.test.ts
│ │ │ ├── edit.ds.test.ts
│ │ │ ├── empty.ipynb
│ │ │ ├── empty.py
│ │ │ ├── executionErrors.ds.test.ts
│ │ │ ├── executionService.ds.test.ts
│ │ │ ├── helper.ts
│ │ │ ├── helpers.unit.test.ts
│ │ │ ├── interrupRestart.ds.test.ts
│ │ │ ├── notebookEditorProvider.ds.test.ts
│ │ │ ├── notebookStorage.unit.test.ts
│ │ │ ├── notebookTrust.ds.test.ts
│ │ │ ├── rendererExension.unit.test.ts
│ │ │ ├── rendererExtensionDownloader.unit.test.ts
│ │ │ ├── saving.ds.test.ts
│ │ │ ├── survey.unit.test.ts
│ │ │ ├── test.ipynb
│ │ │ ├── test.png
│ │ │ ├── with3CellsAndOutput.ipynb
│ │ │ ├── withOutput.ipynb
│ │ │ ├── withOutputForTrust.ipynb
│ │ │ └── withOutputNew.ipynb
│ │ ├── plotViewer.functional.test.tsx
│ │ ├── preWarmVariables.unit.test.ts
│ │ ├── progress
│ │ │ ├── decorators.unit.test.ts
│ │ │ └── progressReporter.unit.test.ts
│ │ ├── raw-kernel
│ │ │ ├── rawKernel.functional.test.ts
│ │ │ └── rawKernelTestHelpers.ts
│ │ ├── reactHelpers.ts
│ │ ├── remoteTestHelpers.ts
│ │ ├── serverConfigFiles
│ │ │ ├── jcert.pem
│ │ │ ├── jkey.key
│ │ │ ├── remoteNoAuth.py
│ │ │ ├── remotePassword.py
│ │ │ └── remoteToken.py
│ │ ├── shiftEnterBanner.unit.test.ts
│ │ ├── sub
│ │ │ └── test.ipynb
│ │ ├── testHelpers.tsx
│ │ ├── testHelpersCore.ts
│ │ ├── testInteractiveWindowProvider.ts
│ │ ├── testNativeEditorProvider.ts
│ │ ├── testPersistentStateFactory.ts
│ │ ├── testexecutionLogger.ts
│ │ ├── trustedNotebooks.functional.test.tsx
│ │ ├── uiTests
│ │ │ ├── helpers.ts
│ │ │ ├── ipywidget.ui.functional.test.ts
│ │ │ ├── notebookHelpers.ts
│ │ │ ├── notebookUi.ts
│ │ │ ├── notebooks
│ │ │ │ ├── beakerx_widgets.ipynb
│ │ │ │ ├── bqplot_widgets.ipynb
│ │ │ │ ├── ipySheet_widgets.ipynb
│ │ │ │ ├── ipyvolume_widgets.ipynb
│ │ │ │ ├── k3d_widgets.ipynb
│ │ │ │ ├── outputinteract_widgets.ipynb
│ │ │ │ ├── pythreejs_widgets.ipynb
│ │ │ │ ├── simple_abc.ipynb
│ │ │ │ └── standard_widgets.ipynb
│ │ │ ├── recorder.ts
│ │ │ ├── webBrowserPanel.ts
│ │ │ └── webBrowserPanelProvider.ts
│ │ ├── variableTestHelpers.ts
│ │ └── variableexplorer.functional.test.tsx
│ ├── debugger
│ │ ├── common
│ │ │ ├── constants.ts
│ │ │ └── protocolparser.test.ts
│ │ ├── envVars.test.ts
│ │ ├── extension
│ │ │ ├── adapter
│ │ │ │ ├── activator.unit.test.ts
│ │ │ │ ├── adapter.test.ts
│ │ │ │ ├── factory.unit.test.ts
│ │ │ │ ├── logging.unit.test.ts
│ │ │ │ ├── outdatedDebuggerPrompt.unit.test.ts
│ │ │ │ └── remoteLaunchers.unit.test.ts
│ │ │ ├── attachQuickPick
│ │ │ │ ├── factory.unit.test.ts
│ │ │ │ ├── provider.unit.test.ts
│ │ │ │ ├── psProcessParser.unit.test.ts
│ │ │ │ └── wmicProcessParser.unit.test.ts
│ │ │ ├── banner.unit.test.ts
│ │ │ ├── configuration
│ │ │ │ ├── debugConfigurationService.unit.test.ts
│ │ │ │ ├── launch.json
│ │ │ │ │ ├── completionProvider.unit.test.ts
│ │ │ │ │ ├── interpreterPathCommand.unit.test.ts
│ │ │ │ │ └── updaterServer.unit.test.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── djangoLaunch.unit.test.ts
│ │ │ │ │ ├── fileLaunch.unit.test.ts
│ │ │ │ │ ├── flaskLaunch.unit.test.ts
│ │ │ │ │ ├── moduleLaunch.unit.test.ts
│ │ │ │ │ ├── pidAttach.unit.test.ts
│ │ │ │ │ ├── providerFactory.unit.test.ts
│ │ │ │ │ ├── pyramidLaunch.unit.test.ts
│ │ │ │ │ └── remoteAttach.unit.test.ts
│ │ │ │ └── resolvers
│ │ │ │ │ ├── attach.unit.test.ts
│ │ │ │ │ ├── base.unit.test.ts
│ │ │ │ │ ├── common.ts
│ │ │ │ │ └── launch.unit.test.ts
│ │ │ ├── hooks
│ │ │ │ ├── childProcessAttachHandler.unit.test.ts
│ │ │ │ └── childProcessAttachService.unit.test.ts
│ │ │ └── serviceRegistry.unit.test.ts
│ │ └── utils.ts
│ ├── debuggerTest.ts
│ ├── extension-version.functional.test.ts
│ ├── fixtures.ts
│ ├── format
│ │ ├── extension.dispatch.test.ts
│ │ ├── extension.format.ds.test.ts
│ │ ├── extension.format.test.ts
│ │ ├── extension.lineFormatter.test.ts
│ │ ├── extension.onEnterFormat.test.ts
│ │ ├── extension.onTypeFormat.test.ts
│ │ ├── extension.sort.test.ts
│ │ ├── format.helper.test.ts
│ │ └── formatter.unit.test.ts
│ ├── index.ts
│ ├── initialize.ts
│ ├── install
│ │ ├── channelManager.channels.test.ts
│ │ └── channelManager.messages.test.ts
│ ├── interpreters
│ │ ├── activation
│ │ │ ├── preWarmVariables.unit.test.ts
│ │ │ ├── service.unit.test.ts
│ │ │ ├── terminalEnvironmentActivationService.unit.test.ts
│ │ │ └── wrapperEnvironmentActivationService.unit.test.ts
│ │ ├── autoSelection
│ │ │ ├── index.unit.test.ts
│ │ │ ├── interpreterSecurity
│ │ │ │ ├── interpreterEvaluation.unit.test.ts
│ │ │ │ ├── interpreterSecurityService.unit.test.ts
│ │ │ │ └── interpreterSecurityStorage.unit.test.ts
│ │ │ ├── proxy.unit.test.ts
│ │ │ └── rules
│ │ │ │ ├── base.unit.test.ts
│ │ │ │ ├── cached.unit.test.ts
│ │ │ │ ├── currentPath.unit.test.ts
│ │ │ │ ├── settings.unit.test.ts
│ │ │ │ ├── system.unit.test.ts
│ │ │ │ ├── winRegistry.unit.test.ts
│ │ │ │ └── workspaceEnv.unit.test.ts
│ │ ├── currentPathService.unit.test.ts
│ │ ├── display.unit.test.ts
│ │ ├── display
│ │ │ ├── interpreterSelectionTip.unit.test.ts
│ │ │ └── progressDisplay.unit.test.ts
│ │ ├── helpers.unit.test.ts
│ │ ├── interpreterService.unit.test.ts
│ │ ├── interpreterVersion.unit.test.ts
│ │ ├── mocks.ts
│ │ ├── pythonPathUpdaterFactory.unit.test.ts
│ │ ├── serviceRegistry.unit.test.ts
│ │ ├── virtualEnvManager.unit.test.ts
│ │ └── virtualEnvs
│ │ │ ├── condaInheritEnvPrompt.unit.test.ts
│ │ │ ├── index.unit.test.ts
│ │ │ └── virtualEnvPrompt.unit.test.ts
│ ├── language
│ │ ├── braceCounter.unit.test.ts
│ │ ├── characterStream.unit.test.ts
│ │ ├── languageConfiguration.unit.test.ts
│ │ ├── textBuilder.unit.test.ts
│ │ ├── textIterator.unit.test.ts
│ │ ├── textRange.unit.test.ts
│ │ ├── textRangeCollection.unit.test.ts
│ │ └── tokenizer.unit.test.ts
│ ├── languageServers
│ │ └── jedi
│ │ │ ├── autocomplete
│ │ │ ├── base.test.ts
│ │ │ ├── pep484.test.ts
│ │ │ └── pep526.test.ts
│ │ │ ├── completionSource.unit.test.ts
│ │ │ ├── definitions
│ │ │ ├── hover.jedi.test.ts
│ │ │ ├── navigation.test.ts
│ │ │ └── parallel.jedi.test.ts
│ │ │ ├── pythonSignatureProvider.unit.test.ts
│ │ │ ├── signature
│ │ │ └── signature.jedi.test.ts
│ │ │ └── symbolProvider.unit.test.ts
│ ├── linters
│ │ ├── common.ts
│ │ ├── lint.args.test.ts
│ │ ├── lint.functional.test.ts
│ │ ├── lint.manager.unit.test.ts
│ │ ├── lint.multilinter.test.ts
│ │ ├── lint.multiroot.test.ts
│ │ ├── lint.provider.test.ts
│ │ ├── lint.test.ts
│ │ ├── lint.unit.test.ts
│ │ ├── lintengine.test.ts
│ │ ├── linter.availability.unit.test.ts
│ │ ├── linterCommands.unit.test.ts
│ │ ├── linterManager.unit.test.ts
│ │ ├── linterinfo.unit.test.ts
│ │ ├── mypy.unit.test.ts
│ │ ├── pylint.test.ts
│ │ ├── pylint.unit.test.ts
│ │ └── serviceRegistry.unit.test.ts
│ ├── markdown
│ │ └── restTextConverter.test.ts
│ ├── mockClasses.ts
│ ├── mocks
│ │ ├── autoSelector.ts
│ │ ├── mementos.ts
│ │ ├── moduleInstaller.ts
│ │ ├── proc.ts
│ │ ├── process.ts
│ │ └── vsc
│ │ │ ├── README.md
│ │ │ ├── arrays.ts
│ │ │ ├── charCode.ts
│ │ │ ├── extHostedTypes.ts
│ │ │ ├── htmlContent.ts
│ │ │ ├── index.ts
│ │ │ ├── position.ts
│ │ │ ├── range.ts
│ │ │ ├── selection.ts
│ │ │ ├── strings.ts
│ │ │ ├── telemetryReporter.ts
│ │ │ ├── uri.ts
│ │ │ └── uuid.ts
│ ├── multiRootTest.ts
│ ├── multiRootWkspc
│ │ ├── disableLinters
│ │ │ ├── .vscode
│ │ │ │ └── tags
│ │ │ └── file.py
│ │ ├── multi.code-workspace
│ │ ├── parent
│ │ │ └── child
│ │ │ │ ├── .vscode
│ │ │ │ ├── settings.json
│ │ │ │ └── tags
│ │ │ │ ├── childFile.py
│ │ │ │ └── file.py
│ │ ├── workspace1
│ │ │ ├── .vscode
│ │ │ │ ├── settings.json
│ │ │ │ └── tags
│ │ │ └── file.py
│ │ ├── workspace2
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── file.py
│ │ │ ├── workspace2.tags.file
│ │ │ └── workspace2File.py
│ │ └── workspace3
│ │ │ ├── .vscode
│ │ │ └── settings.json
│ │ │ ├── file.py
│ │ │ └── workspace3.tags.file
│ ├── performance
│ │ ├── load.perf.test.ts
│ │ ├── sample.py
│ │ └── settings.json
│ ├── performanceTest.ts
│ ├── pipRequirements
│ │ └── example-requirements.txt
│ ├── proc.ts
│ ├── providers
│ │ ├── codeActionProvider
│ │ │ ├── launchJsonCodeActionProvider.unit.test.ts
│ │ │ ├── main.unit.test.ts
│ │ │ └── pythonCodeActionsProvider.unit.test.ts
│ │ ├── foldingProvider.test.ts
│ │ ├── importSortProvider.unit.test.ts
│ │ ├── repl.unit.test.ts
│ │ ├── serviceRegistry.unit.test.ts
│ │ ├── shebangCodeLenseProvider.unit.test.ts
│ │ └── terminal.unit.test.ts
│ ├── pythonEnvironments
│ │ ├── discovery
│ │ │ ├── globalenv.unit.test.ts
│ │ │ ├── locators
│ │ │ │ ├── cacheableLocatorService.unit.test.ts
│ │ │ │ ├── condaEnvFileService.unit.test.ts
│ │ │ │ ├── condaEnvService.unit.test.ts
│ │ │ │ ├── condaHelper.unit.test.ts
│ │ │ │ ├── condaService.unit.test.ts
│ │ │ │ ├── hasProviderFactory.unit.test.ts
│ │ │ │ ├── hashProvider.unit.test.ts
│ │ │ │ ├── helpers.unit.test.ts
│ │ │ │ ├── index.unit.test.ts
│ │ │ │ ├── interpreterFilter.unit.test.ts
│ │ │ │ ├── interpreterLocatorService.testvirtualenvs.ts
│ │ │ │ ├── interpreterWatcherBuilder.unit.test.ts
│ │ │ │ ├── knownPathService.unit.test.ts
│ │ │ │ ├── pipEnvService.unit.test.ts
│ │ │ │ ├── progressService.unit.test.ts
│ │ │ │ ├── venv.unit.test.ts
│ │ │ │ ├── windowsRegistryService.unit.test.ts
│ │ │ │ ├── windowsStoreInterpreter.unit.test.ts
│ │ │ │ ├── workspaceVirtualEnvService.test.ts
│ │ │ │ ├── workspaceVirtualEnvService.unit.test.ts
│ │ │ │ └── workspaceVirtualEnvWatcherService.unit.test.ts
│ │ │ └── subenv.unit.test.ts
│ │ └── info
│ │ │ ├── executable.unit.test.ts
│ │ │ ├── interpreter.unit.test.ts
│ │ │ └── pythonVersion.unit.test.ts
│ ├── pythonFiles
│ │ ├── autocomp
│ │ │ ├── deco.py
│ │ │ ├── doc.py
│ │ │ ├── five.py
│ │ │ ├── four.py
│ │ │ ├── hoverTest.py
│ │ │ ├── imp.py
│ │ │ ├── lamb.py
│ │ │ ├── misc.py
│ │ │ ├── one.py
│ │ │ ├── pep484.py
│ │ │ ├── pep526.py
│ │ │ ├── suppress.py
│ │ │ ├── three.py
│ │ │ └── two.py
│ │ ├── autoimport
│ │ │ ├── one.py
│ │ │ └── two
│ │ │ │ ├── __init__.py
│ │ │ │ └── three.py
│ │ ├── datascience
│ │ │ ├── simple_nb.ipynb
│ │ │ └── simple_note_book.py
│ │ ├── debugging
│ │ │ ├── forever.py
│ │ │ ├── logMessage.py
│ │ │ ├── loopyTest.py
│ │ │ ├── multiThread.py
│ │ │ ├── printSysArgv.py
│ │ │ ├── sample2.py
│ │ │ ├── sample2WithoutSleep.py
│ │ │ ├── sample3WithEx.py
│ │ │ ├── sampleWithAssertEx.py
│ │ │ ├── sampleWithSleep.py
│ │ │ ├── simplePrint.py
│ │ │ ├── stackFrame.py
│ │ │ ├── startAndWait.py
│ │ │ ├── stdErrOutput.py
│ │ │ ├── stdOutOutput.py
│ │ │ └── wait_for_file.py
│ │ ├── definition
│ │ │ ├── await.test.py
│ │ │ ├── five.py
│ │ │ ├── four.py
│ │ │ ├── navigation
│ │ │ │ ├── __init__.py
│ │ │ │ ├── definitions.py
│ │ │ │ └── usages.py
│ │ │ ├── one.py
│ │ │ ├── three.py
│ │ │ └── two.py
│ │ ├── docstrings
│ │ │ └── one.py
│ │ ├── dummy.py
│ │ ├── environments
│ │ │ ├── conda
│ │ │ │ ├── Scripts
│ │ │ │ │ └── conda.exe
│ │ │ │ ├── bin
│ │ │ │ │ └── python
│ │ │ │ └── envs
│ │ │ │ │ ├── numpy
│ │ │ │ │ ├── bin
│ │ │ │ │ │ └── python
│ │ │ │ │ └── python.exe
│ │ │ │ │ └── scipy
│ │ │ │ │ ├── bin
│ │ │ │ │ └── python
│ │ │ │ │ └── python.exe
│ │ │ ├── path1
│ │ │ │ ├── one
│ │ │ │ ├── one.exe
│ │ │ │ └── python.exe
│ │ │ └── path2
│ │ │ │ ├── one
│ │ │ │ ├── one.exe
│ │ │ │ └── python.exe
│ │ ├── exclusions
│ │ │ ├── Lib
│ │ │ │ ├── fileLib.py
│ │ │ │ └── site-packages
│ │ │ │ │ └── sitePackages.py
│ │ │ ├── dir1
│ │ │ │ ├── dir1file.py
│ │ │ │ └── dir2
│ │ │ │ │ └── dir2file.py
│ │ │ └── one.py
│ │ ├── folding
│ │ │ ├── attach_server.py
│ │ │ ├── empty.py
│ │ │ ├── miscSamples.py
│ │ │ ├── noComments.py
│ │ │ ├── noDocStrings.py
│ │ │ ├── visualstudio_ipython_repl.py
│ │ │ ├── visualstudio_ipython_repl_double_quotes.py
│ │ │ ├── visualstudio_py_debugger.py
│ │ │ └── visualstudio_py_repl.py
│ │ ├── formatting
│ │ │ ├── autoPep8Formatted.py
│ │ │ ├── autopep8.output
│ │ │ ├── black.output
│ │ │ ├── blackFormatted.py
│ │ │ ├── dummy.ts
│ │ │ ├── fileToFormat.py
│ │ │ ├── fileToFormatOnEnter.py
│ │ │ ├── formatWhenDirty.py
│ │ │ ├── formatWhenDirtyResult.py
│ │ │ ├── pythonGrammar.py
│ │ │ ├── yapf.output
│ │ │ └── yapfFormatted.py
│ │ ├── hover
│ │ │ ├── functionHover.py
│ │ │ └── stringFormat.py
│ │ ├── linting
│ │ │ ├── file.py
│ │ │ ├── flake8config
│ │ │ │ ├── .flake8
│ │ │ │ └── file.py
│ │ │ ├── minCheck.py
│ │ │ ├── print.py
│ │ │ ├── pycodestyleconfig
│ │ │ │ ├── .pycodestyle
│ │ │ │ └── file.py
│ │ │ ├── pydocstyleconfig27
│ │ │ │ ├── .pydocstyle
│ │ │ │ └── file.py
│ │ │ ├── pylintconfig
│ │ │ │ ├── .pylintrc
│ │ │ │ ├── file.py
│ │ │ │ └── file2.py
│ │ │ └── threeLineLints.py
│ │ ├── markdown
│ │ │ ├── aifc.md
│ │ │ ├── aifc.pydoc
│ │ │ ├── anydbm.md
│ │ │ ├── anydbm.pydoc
│ │ │ ├── astroid.md
│ │ │ ├── astroid.pydoc
│ │ │ ├── scipy.md
│ │ │ ├── scipy.pydoc
│ │ │ ├── scipy.spatial.distance.md
│ │ │ ├── scipy.spatial.distance.pydoc
│ │ │ ├── scipy.spatial.md
│ │ │ └── scipy.spatial.pydoc
│ │ ├── refactoring
│ │ │ ├── source folder
│ │ │ │ ├── with empty line.py
│ │ │ │ └── without empty line.py
│ │ │ └── standAlone
│ │ │ │ └── refactor.py
│ │ ├── shebang
│ │ │ ├── plain.py
│ │ │ ├── shebang.py
│ │ │ ├── shebangEnv.py
│ │ │ └── shebangInvalid.py
│ │ ├── signature
│ │ │ ├── basicSig.py
│ │ │ ├── classCtor.py
│ │ │ ├── ellipsis.py
│ │ │ └── noSigPy3.py
│ │ ├── sorting
│ │ │ ├── noconfig
│ │ │ │ ├── after.py
│ │ │ │ ├── before.py
│ │ │ │ └── original.py
│ │ │ └── withconfig
│ │ │ │ ├── .isort.cfg
│ │ │ │ ├── after.py
│ │ │ │ ├── before.1.py
│ │ │ │ ├── before.py
│ │ │ │ ├── original.1.py
│ │ │ │ └── original.py
│ │ ├── symbolFiles
│ │ │ ├── childFile.py
│ │ │ ├── file.py
│ │ │ └── workspace2File.py
│ │ ├── terminalExec
│ │ │ ├── sample1_normalized.py
│ │ │ ├── sample1_raw.py
│ │ │ ├── sample2_normalized.py
│ │ │ ├── sample2_raw.py
│ │ │ ├── sample3_normalized.py
│ │ │ ├── sample3_raw.py
│ │ │ ├── sample4_normalized.py
│ │ │ ├── sample4_raw.py
│ │ │ ├── sample5_normalized.py
│ │ │ ├── sample5_raw.py
│ │ │ ├── sample6_normalized.py
│ │ │ ├── sample6_raw.py
│ │ │ ├── sample7_normalized.py
│ │ │ ├── sample7_raw.py
│ │ │ ├── sample8_normalized.py
│ │ │ ├── sample8_raw.py
│ │ │ ├── sample_normalized.py
│ │ │ └── sample_raw.py
│ │ ├── testFiles
│ │ │ ├── counter
│ │ │ │ └── tests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── test_unit_test_counter.py
│ │ │ ├── cwd
│ │ │ │ └── src
│ │ │ │ │ └── tests
│ │ │ │ │ └── test_cwd.py
│ │ │ ├── debuggerTest
│ │ │ │ └── tests
│ │ │ │ │ ├── test_debugger_one.py
│ │ │ │ │ ├── test_debugger_two.py
│ │ │ │ │ ├── test_debugger_two.txt
│ │ │ │ │ └── test_debugger_two.updated.txt
│ │ │ ├── multi
│ │ │ │ └── tests
│ │ │ │ │ ├── more_tests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── test_three.py
│ │ │ │ │ ├── test_one.py
│ │ │ │ │ └── test_two.py
│ │ │ ├── noseFiles
│ │ │ │ ├── five.output
│ │ │ │ ├── four.output
│ │ │ │ ├── one.output
│ │ │ │ ├── run.five.output
│ │ │ │ ├── run.five.result
│ │ │ │ ├── run.four.output
│ │ │ │ ├── run.four.result
│ │ │ │ ├── run.one.output
│ │ │ │ ├── run.one.result
│ │ │ │ ├── run.three.output
│ │ │ │ ├── run.three.result
│ │ │ │ ├── run.two.again.result
│ │ │ │ ├── run.two.output
│ │ │ │ ├── run.two.result
│ │ │ │ ├── specific
│ │ │ │ │ ├── tst_unittest_one.py
│ │ │ │ │ └── tst_unittest_two.py
│ │ │ │ ├── test_root.py
│ │ │ │ ├── tests
│ │ │ │ │ ├── test4.py
│ │ │ │ │ ├── test_unittest_one.py
│ │ │ │ │ ├── test_unittest_two.py
│ │ │ │ │ └── unittest_three_test.py
│ │ │ │ ├── three.output
│ │ │ │ └── two.output
│ │ │ ├── pytestFiles
│ │ │ │ └── results
│ │ │ │ │ ├── five.output
│ │ │ │ │ ├── five.xml
│ │ │ │ │ ├── four.output
│ │ │ │ │ ├── four.xml
│ │ │ │ │ ├── one.output
│ │ │ │ │ ├── one.xml
│ │ │ │ │ ├── three.output
│ │ │ │ │ ├── three.xml
│ │ │ │ │ ├── two.again.xml
│ │ │ │ │ ├── two.output
│ │ │ │ │ └── two.xml
│ │ │ ├── single
│ │ │ │ ├── test_root.py
│ │ │ │ └── tests
│ │ │ │ │ └── test_one.py
│ │ │ ├── specificTest
│ │ │ │ └── tests
│ │ │ │ │ ├── test_unittest_one.py
│ │ │ │ │ └── test_unittest_two.py
│ │ │ ├── standard
│ │ │ │ ├── test_root.py
│ │ │ │ └── tests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── external.py
│ │ │ │ │ ├── test_another_pytest.py
│ │ │ │ │ ├── test_foreign_nested_tests.py
│ │ │ │ │ ├── test_pytest.py
│ │ │ │ │ ├── test_unittest_one.py
│ │ │ │ │ ├── test_unittest_two.py
│ │ │ │ │ └── unittest_three_test.py
│ │ │ └── unittestsWithConfigs
│ │ │ │ ├── other
│ │ │ │ ├── test_pytest.py
│ │ │ │ └── test_unittest_one.py
│ │ │ │ ├── pytest.ini
│ │ │ │ ├── test_root.py
│ │ │ │ └── tests
│ │ │ │ ├── test_another_pytest.py
│ │ │ │ ├── test_pytest.py
│ │ │ │ ├── test_unittest_one.py
│ │ │ │ ├── test_unittest_two.py
│ │ │ │ └── unittest_three_test.py
│ │ └── typeFormatFiles
│ │ │ ├── elseBlocks2.py
│ │ │ ├── elseBlocks4.py
│ │ │ ├── elseBlocksFirstLine2.py
│ │ │ ├── elseBlocksFirstLine4.py
│ │ │ ├── elseBlocksFirstLineTab.py
│ │ │ ├── elseBlocksTab.py
│ │ │ ├── tryBlocks2.py
│ │ │ ├── tryBlocks4.py
│ │ │ └── tryBlocksTab.py
│ ├── refactor
│ │ ├── extension.refactor.extract.method.test.ts
│ │ ├── extension.refactor.extract.var.test.ts
│ │ └── rename.test.ts
│ ├── serviceRegistry.ts
│ ├── smoke
│ │ ├── common.ts
│ │ ├── datascience.smoke.test.ts
│ │ ├── languageServer.smoke.test.ts
│ │ └── runInTerminal.smoke.test.ts
│ ├── smokeTest.ts
│ ├── sourceMapSupport.test.ts
│ ├── sourceMapSupport.unit.test.ts
│ ├── standardTest.ts
│ ├── startPage
│ │ ├── startPage.functional.test.tsx
│ │ └── startPage.unit.test.ts
│ ├── startupTelemetry.unit.test.ts
│ ├── telemetry
│ │ ├── envFileTelemetry.unit.test.ts
│ │ ├── importTracker.unit.test.ts
│ │ └── index.unit.test.ts
│ ├── terminals
│ │ ├── activation.unit.test.ts
│ │ ├── codeExecution
│ │ │ ├── codeExecutionManager.unit.test.ts
│ │ │ ├── djangoShellCodeExect.unit.test.ts
│ │ │ ├── helper.test.ts
│ │ │ └── terminalCodeExec.unit.test.ts
│ │ └── serviceRegistry.unit.test.ts
│ ├── testBootstrap.ts
│ ├── testLogger.ts
│ ├── testRunner.ts
│ ├── testing
│ │ ├── argsService.test.ts
│ │ ├── banners
│ │ │ └── proposeNewLanguageServerBanner.unit.test.ts
│ │ ├── codeLenses
│ │ │ └── testFiles.unit.test.ts
│ │ ├── common
│ │ │ ├── argsHelper.unit.test.ts
│ │ │ ├── debugLauncher.unit.test.ts
│ │ │ ├── managers
│ │ │ │ ├── baseTestManager.unit.test.ts
│ │ │ │ └── testConfigurationManager.unit.test.ts
│ │ │ ├── services
│ │ │ │ ├── configSettingService.unit.test.ts
│ │ │ │ ├── contextService.unit.test.ts
│ │ │ │ ├── discoveredTestParser.unit.test.ts
│ │ │ │ ├── discovery.unit.test.ts
│ │ │ │ ├── storageService.unit.test.ts
│ │ │ │ ├── testResultsService.unit.test.ts
│ │ │ │ └── testStatusService.unit.test.ts
│ │ │ ├── testUtils.unit.test.ts
│ │ │ ├── testVisitors
│ │ │ │ └── resultResetVisitor.unit.test.ts
│ │ │ ├── trackEnablement.unit.test.ts
│ │ │ └── xUnitParser.unit.test.ts
│ │ ├── configuration.unit.test.ts
│ │ ├── configurationFactory.unit.test.ts
│ │ ├── debugger.test.ts
│ │ ├── display
│ │ │ ├── main.unit.test.ts
│ │ │ ├── picker.functional.test.ts
│ │ │ └── picker.unit.test.ts
│ │ ├── explorer
│ │ │ ├── explorerTestData.ts
│ │ │ ├── failedTestHandler.unit.test.ts
│ │ │ ├── testExplorerCommandHandler.unit.test.ts
│ │ │ ├── testTreeViewItem.unit.test.ts
│ │ │ ├── testTreeViewProvider.unit.test.ts
│ │ │ └── treeView.unit.test.ts
│ │ ├── helper.ts
│ │ ├── main.unit.test.ts
│ │ ├── mocks.ts
│ │ ├── navigation
│ │ │ ├── commandHandlers.unit.test.ts
│ │ │ ├── fileNavigator.unit.test.ts
│ │ │ ├── functionNavigator.unit.test.ts
│ │ │ ├── helper.unit.test.ts
│ │ │ ├── serviceRegistry.unit.test.ts
│ │ │ ├── suiteNavigator.unit.test.ts
│ │ │ └── symbolNavigator.unit.test.ts
│ │ ├── nosetest
│ │ │ ├── nosetest.argsService.unit.test.ts
│ │ │ ├── nosetest.discovery.unit.test.ts
│ │ │ ├── nosetest.disovery.test.ts
│ │ │ ├── nosetest.run.test.ts
│ │ │ └── nosetest.test.ts
│ │ ├── pytest
│ │ │ ├── pytest.argsService.unit.test.ts
│ │ │ ├── pytest.discovery.test.ts
│ │ │ ├── pytest.run.test.ts
│ │ │ ├── pytest.test.ts
│ │ │ ├── pytest.testMessageService.test.ts
│ │ │ ├── pytest_run_tests_data.ts
│ │ │ ├── pytest_unittest_parser_data.ts
│ │ │ └── services
│ │ │ │ └── discoveryService.unit.test.ts
│ │ ├── rediscover.test.ts
│ │ ├── results.ts
│ │ ├── serviceRegistry.ts
│ │ ├── stoppingDiscoverAndTest.test.ts
│ │ └── unittest
│ │ │ ├── unittest.argsService.unit.test.ts
│ │ │ ├── unittest.diagnosticService.unit.test.ts
│ │ │ ├── unittest.discovery.test.ts
│ │ │ ├── unittest.discovery.unit.test.ts
│ │ │ ├── unittest.run.test.ts
│ │ │ ├── unittest.test.ts
│ │ │ └── unittest.unit.test.ts
│ ├── textUtils.ts
│ ├── unittests.ts
│ ├── utils
│ │ ├── fs.ts
│ │ └── interpreters.ts
│ ├── vscode-mock.ts
│ └── workspaceSymbols
│ │ ├── common.ts
│ │ ├── generator.unit.test.ts
│ │ ├── main.unit.test.ts
│ │ └── provider.unit.test.ts
└── testMultiRootWkspc
│ ├── disableLinters
│ ├── .vscode
│ │ └── tags
│ └── file.py
│ ├── multi.code-workspace
│ ├── parent
│ └── child
│ │ ├── .vscode
│ │ ├── settings.json
│ │ └── tags
│ │ ├── childFile.py
│ │ └── file.py
│ ├── smokeTests
│ ├── .gitignore
│ ├── definitions.py
│ └── testExecInTerminal.py
│ ├── workspace1
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tags
│ └── file.py
│ ├── workspace2
│ ├── .vscode
│ │ └── settings.json
│ ├── file.py
│ ├── workspace2.tags.file
│ └── workspace2File.py
│ ├── workspace3
│ ├── .vscode
│ │ └── settings.json
│ ├── file.py
│ └── workspace3.tags.file
│ ├── workspace4
│ ├── .env
│ ├── .env2
│ ├── .env5
│ ├── .env6
│ ├── .vscode
│ │ └── settings.json
│ └── one.py
│ └── workspace5
│ ├── .vscode
│ └── settings.json
│ ├── djangoApp
│ ├── home
│ │ ├── __init__.py
│ │ ├── templates
│ │ │ └── index.html
│ │ ├── urls.py
│ │ └── views.py
│ ├── manage.py
│ └── mysite
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── flaskApp
│ ├── run.py
│ └── templates
│ │ └── index.html
│ ├── hello
│ ├── __init__.py
│ └── world.py
│ ├── mymod
│ ├── __init__.py
│ └── __main__.py
│ ├── remoteDebugger-start-with-nowait.py
│ ├── remoteDebugger-start.py
│ └── remoteDebugger.py
├── syntaxes
└── pip-requirements.tmLanguage.json
├── tsconfig.datascience-ui.json
├── tsconfig.extension.json
├── tsconfig.json
├── tsfmt.json
├── tslint.json
├── types
├── @nteract
│ ├── transform-dataresource.d.ts
│ ├── transform-geojson.d.ts
│ ├── transform-model-debug.d.ts
│ ├── transform-plotly.d.ts
│ ├── transform-vsdom.d.ts
│ └── transforms.d.ts
├── ansi-to-html.d.ts
├── react-data-grid.d.ts
├── react-svg-pan-zoom.d.ts
├── react-svgmt.d.ts
├── react-tabulator.d.ts
├── slickgrid
│ ├── index.d.ts
│ └── plugins
│ │ ├── slick.autotooltips.d.ts
│ │ ├── slick.checkboxselectcolumn.d.ts
│ │ ├── slick.columnpicker.d.ts
│ │ ├── slick.headerbuttons.d.ts
│ │ └── slick.rowselectionmodel.d.ts
├── svg-inline-react.d.ts
├── vscode-proposed
│ └── index.d.ts
└── vscode.proposed.d.ts
├── typings
├── dom.fix.rx.compiler.d.ts
├── extensions.d.ts
├── index.d.ts
└── vscode-proposed
│ └── index.d.ts
└── vscode-python-signing.csproj
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Tab indentation
7 | [*]
8 | indent_style = space
9 | indent_size = 4
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
13 | # The indent size used in the `package.json` file cannot be changed
14 | # https://github.com/npm/npm/pull/3180#issuecomment-16336516
15 | [{.travis.yml,npm-shrinkwrap.json,package.json}]
16 | indent_style = space
17 | indent_size = 4
18 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | src/ipywidgets/*
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | package.json text eol=lf
2 | package-lock.json text eol=lf
3 | requirements.txt text eol=lf
4 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/4_feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: General feature request
3 | about: Suggest an idea for this project
4 | labels: classify, type-enhancement
5 | ---
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Stack Overflow
4 | url: https://stackoverflow.com/questions/tagged/visual-studio-code+python
5 | about: Please ask questions here.
6 |
--------------------------------------------------------------------------------
/.github/lock.yml:
--------------------------------------------------------------------------------
1 | daysUntilLock: 7
2 | lockComment: false
3 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | @types:registry=https://registry.npmjs.org
2 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v12.15.0
2 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | singleQuote: true,
3 | printWidth: 120,
4 | tabWidth: 4,
5 | endOfLine: 'auto',
6 | trailingComma: 'none',
7 | overrides: [
8 | {
9 | files: ['*.yml', '*.yaml'],
10 | options: {
11 | tabWidth: 2
12 | }
13 | },
14 | {
15 | files: ['**/datascience/serviceRegistry.ts'],
16 | options: {
17 | printWidth: 240
18 | }
19 | }
20 | ]
21 | };
22 |
--------------------------------------------------------------------------------
/.sonarcloud.properties:
--------------------------------------------------------------------------------
1 | sonar.sources=src/client,src/datascience-ui
2 | sonar.exclusions=src/datascience-ui/**/codicon*.*
3 | sonar.tests=src/test
4 | sonar.cfamily.build-wrapper-output.bypass=true
5 | sonar.cpd.exclusions=src/datascience-ui/**/redux/actions.ts,src/client/**/raw-kernel/rawKernel.ts,src/client/datascience/jupyter/*ariable*.ts
6 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=827846
3 | // for the documentation about the extensions.json format
4 | "recommendations": [
5 | "ms-vscode.vscode-typescript-tslint-plugin",
6 | "editorconfig.editorconfig",
7 | "esbenp.prettier-vscode"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | This project has adopted the [Microsoft Open Source Code of
2 | Conduct](https://opensource.microsoft.com/codeofconduct/).
3 | For more information see the [Code of Conduct
4 | FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
5 | contact [opencode@microsoft.com](mailto:opencode@microsoft.com)
6 | with any additional questions or comments.
7 |
--------------------------------------------------------------------------------
/build/.mocha-multi-reporters.config:
--------------------------------------------------------------------------------
1 | {
2 | "reporterEnabled": "spec,mocha-junit-reporter"
3 | }
4 |
--------------------------------------------------------------------------------
/build/.mocha.functional.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./out/test/**/*.functional.test.js",
3 | "require": ["out/test/unittests.js"],
4 | "exclude": "out/**/*.jsx",
5 | "reporter": "mocha-multi-reporters",
6 | "reporter-option": "configFile=build/.mocha-multi-reporters.config",
7 | "ui": "tdd",
8 | "recursive": true,
9 | "colors": true,
10 | "exit": true,
11 | "timeout": 180000
12 | }
13 |
--------------------------------------------------------------------------------
/build/.mocha.functional.perf.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./out/test/**/*.functional.test.js",
3 | "exclude-out": "out/**/*.jsx",
4 | "require": ["out/test/unittests.js"],
5 | "reporter": "spec",
6 | "ui": "tdd",
7 | "recursive": true,
8 | "colors": true,
9 | "exit": true,
10 | "timeout": 180000
11 | }
12 |
--------------------------------------------------------------------------------
/build/.mocha.perf.config:
--------------------------------------------------------------------------------
1 | {
2 | "reporterEnabled": "spec,xunit",
3 | "xunitReporterOptions": {
4 | "output": "xunit-test-results.xml"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/build/.mocha.performance.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./out/test/**/*.functional.test.js",
3 | "require": ["out/test/unittests.js"],
4 | "reporter": "mocha-multi-reporters",
5 | "reporter-option": "configFile=build/.mocha.perf.config",
6 | "ui": "tdd",
7 | "recursive": true,
8 | "colors": true,
9 | "exit": true,
10 | "timeout": 30000,
11 | "grep": "DataScience"
12 | }
13 |
--------------------------------------------------------------------------------
/build/.mocha.unittests.js.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./out/test/**/*.unit.test.js",
3 | "require": ["source-map-support/register", "out/test/unittests.js"],
4 | "reporter": "mocha-multi-reporters",
5 | "reporter-option": "configFile=build/.mocha-multi-reporters.config",
6 | "ui": "tdd",
7 | "recursive": true,
8 | "colors": true
9 | }
10 |
--------------------------------------------------------------------------------
/build/.mocha.unittests.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./out/test/**/*.unit.test.js",
3 | "require": ["out/test/unittests.js"],
4 | "reporter": "mocha-multi-reporters",
5 | "reporter-option": "configFile=build/.mocha-multi-reporters.config",
6 | "ui": "tdd",
7 | "recursive": true,
8 | "colors": true
9 | }
10 |
--------------------------------------------------------------------------------
/build/.mocha.unittests.ts.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec": "./src/test/**/*.unit.test.ts",
3 | "require": ["ts-node/register", "out/test/unittests.js"],
4 | "reporter": "mocha-multi-reporters",
5 | "reporter-option": "configFile=build/.mocha-multi-reporters.config",
6 | "ui": "tdd",
7 | "recursive": true,
8 | "colors": true
9 | }
10 |
--------------------------------------------------------------------------------
/build/.nycrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@istanbuljs/nyc-config-typescript",
3 | "all": true,
4 | "include": [
5 | "src/client/**/*.ts", "src/test/**/*.js",
6 | "src/datascience-ui/**/*.ts", "src/datascience-ui/**/*.js"
7 | ],
8 | "exclude": ["src/test/**/*.ts", "src/test/**/*.js"]
9 | }
--------------------------------------------------------------------------------
/build/ci/TSAOptions.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectName": "PVSC",
3 | "areaPath": "PVSC\\Security",
4 | "iterationPath": "PVSC",
5 | "allTools": true
6 | }
7 |
--------------------------------------------------------------------------------
/build/ci/codecov.yml:
--------------------------------------------------------------------------------
1 | codecov:
2 | notify:
3 | require_ci_to_pass: yes
4 |
5 | coverage:
6 | precision: 0
7 | round: down
8 | range: '70...100'
9 |
10 | status:
11 | project: yes
12 | patch: yes
13 | changes: no
14 |
15 | parsers:
16 | gcov:
17 | branch_detection:
18 | conditional: yes
19 | loop: yes
20 | method: no
21 | macro: no
22 |
23 | comment:
24 | branch: !release*
25 | layout: 'header, diff, files'
26 | behavior: default
27 | require_changes: no
28 |
--------------------------------------------------------------------------------
/build/ci/conda_base.yml:
--------------------------------------------------------------------------------
1 | pandas
2 | jupyter
3 | numpy
4 | matplotlib
5 | pip
6 |
--------------------------------------------------------------------------------
/build/ci/conda_env_1.yml:
--------------------------------------------------------------------------------
1 | name: conda_env_1
2 | dependencies:
3 | - python=3.7
4 | - pandas
5 | - jupyter
6 | - numpy
7 | - matplotlib
8 | - pip
9 |
--------------------------------------------------------------------------------
/build/ci/conda_env_2.yml:
--------------------------------------------------------------------------------
1 | name: conda_env_2
2 | dependencies:
3 | - python=3.8
4 | - pandas
5 | - jupyter
6 | - numpy
7 | - matplotlib
8 | - pip
9 |
--------------------------------------------------------------------------------
/build/ci/templates/jobs/coverage.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - job: Coverage
3 | pool:
4 | vmImage: 'ubuntu-16.04'
5 | variables:
6 | TestsToRun: 'testUnitTests'
7 | steps:
8 | - template: ../steps/merge_upload_coverage.yml
9 |
--------------------------------------------------------------------------------
/build/ci/templates/steps/compile.yml:
--------------------------------------------------------------------------------
1 | # Compiles the source
2 |
3 | steps:
4 | - template: initialization.yml
5 | parameters:
6 | PythonVersion: $(PythonVersion)
7 | workingDirectory: $(Build.SourcesDirectory)
8 | compile: 'false'
9 | installVSCEorNPX: 'false'
10 |
11 | - task: Gulp@0
12 | displayName: 'Compile and check for errors'
13 | inputs:
14 | targets: 'prePublishNonBundle'
15 |
--------------------------------------------------------------------------------
/build/conda-functional-requirements.txt:
--------------------------------------------------------------------------------
1 | # List of requirements for conda environments that cannot be installed using conda
2 | livelossplot
3 | versioneer
4 | flake8
5 | autopep8
6 | bandit
7 | black ; python_version>='3.6'
8 | yapf
9 | pylint
10 | pycodestyle
11 | pydocstyle
12 | nose
13 | pytest==4.6.9 # Last version of pytest with Python 2.7 support
14 | rope
15 | flask
16 | django
17 | isort
18 | pathlib2>=2.2.0 ; python_version<'3.6' # Python 2.7 compatibility (pytest)
19 | pythreejs
20 | ipysheet
21 | ipyvolume
22 | beakerx
23 | py4j
24 | bqplot
25 | K3D
26 | debugpy
--------------------------------------------------------------------------------
/build/constants.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | const util = require('./util');
6 | exports.ExtensionRootDir = util.ExtensionRootDir;
7 | // This is a list of files that existed before MS got the extension.
8 | exports.existingFiles = util.getListOfFiles('existingFiles.json');
9 | exports.contributedFiles = util.getListOfFiles('contributedFiles.json');
10 | exports.isWindows = /^win/.test(process.platform);
11 | exports.isCI = process.env.TRAVIS === 'true' || process.env.TF_BUILD !== undefined;
12 |
--------------------------------------------------------------------------------
/build/contributedFiles.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/build/debugger-install-requirements.txt:
--------------------------------------------------------------------------------
1 | # Requirements needed to run install_debugpy.py
2 | packaging
3 |
--------------------------------------------------------------------------------
/build/functional-test-requirements.txt:
--------------------------------------------------------------------------------
1 | # List of requirements for functional tests
2 | versioneer
3 |
--------------------------------------------------------------------------------
/build/ipython-test-requirements.txt:
--------------------------------------------------------------------------------
1 | # List of requirements for ipython tests
2 | numpy
3 | pandas
4 | ipython
5 |
--------------------------------------------------------------------------------
/build/test-requirements.txt:
--------------------------------------------------------------------------------
1 | # Install flake8 first, as both flake8 and autopep8 require pycodestyle,
2 | # but flake8 has a tighter pinning.
3 | flake8
4 | autopep8
5 | bandit
6 | black ; python_version>='3.6'
7 | yapf
8 | pylint
9 | pycodestyle
10 | prospector==1.2.0 # Last version of prospector with Python 2.7 support
11 | pydocstyle
12 | nose
13 | pytest==4.6.9 # Last version of pytest with Python 2.7 support
14 | py==1.8.1
15 | rope
16 | flask
17 | django
18 | isort
19 | pathlib2>=2.2.0 ; python_version<'3.6' # Python 2.7 compatibility (pytest)
20 |
--------------------------------------------------------------------------------
/build/webpack/loaders/jsonloader.js:
--------------------------------------------------------------------------------
1 | // For some reason this has to be in commonjs format
2 |
3 | module.exports = function (source) {
4 | // Just inline the source and fix up defaults so that they don't
5 | // mess up the logic in the setOptions.js file
6 | return `module.exports = ${source}\nmodule.exports.default = false`;
7 | };
8 |
--------------------------------------------------------------------------------
/build/webpack/loaders/remarkLoader.js:
--------------------------------------------------------------------------------
1 | // For some reason this has to be in commonjs format
2 |
3 | module.exports = function (source) {
4 | // Just inline the source and fix up defaults so that they don't
5 | // mess up the logic in the setOptions.js file
6 | return `module.exports = ${source}\nmodule.exports.default = false`;
7 | };
8 |
--------------------------------------------------------------------------------
/build/webpack/nativeOrInteractivePicker.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Click here to Open Native Editor
6 | Click here to Open Interactive Window
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build/webpack/pdfkit.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | /*
7 | This file is only used when using webpack for bundling.
8 | We have a dummy file so that webpack doesn't fall over when trying to bundle pdfkit.
9 | Just point it to a dummy file (this file).
10 | Once webpack is done, we override the pdfkit.js file in the externalized node modules directory
11 | with the actual source of pdfkit that needs to be used by nodejs (our extension code).
12 | */
13 |
14 | class PDFDocument {}
15 | module.exports = PDFDocument;
16 |
--------------------------------------------------------------------------------
/build/webpack/webpack.datascience-ui-notebooks.config.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const builder = require('./webpack.datascience-ui.config.builder');
7 | module.exports = [builder.notebooks];
8 |
--------------------------------------------------------------------------------
/build/webpack/webpack.datascience-ui-renderers.config.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const builder = require('./webpack.datascience-ui.config.builder');
7 | module.exports = [builder.renderers];
8 |
--------------------------------------------------------------------------------
/build/webpack/webpack.datascience-ui-viewers.config.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const builder = require('./webpack.datascience-ui.config.builder');
7 | module.exports = [builder.viewers];
8 |
--------------------------------------------------------------------------------
/build/webpack/webpack.datascience-ui.config.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const builder = require('./webpack.datascience-ui.config.builder');
7 | module.exports = [builder.notebooks, builder.viewers];
8 |
--------------------------------------------------------------------------------
/customEditor.json:
--------------------------------------------------------------------------------
1 | {
2 | "activationEvents": [
3 | "onCustomEditor:ms-python.python.notebook.ipynb"
4 | ],
5 | "contributes": {
6 | "customEditors": [
7 | {
8 | "viewType": "ms-python.python.notebook.ipynb",
9 | "displayName": "Jupyter Notebook",
10 | "selector": [
11 | {
12 | "filenamePattern": "*.ipynb"
13 | }
14 | ],
15 | "priority": "default"
16 | }
17 | ]
18 | }
19 | }
--------------------------------------------------------------------------------
/data/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.pythonPath": "/usr/bin/python3"
3 | }
4 |
--------------------------------------------------------------------------------
/data/test.py:
--------------------------------------------------------------------------------
1 | #%%
2 | print('hello')
3 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/icon.png
--------------------------------------------------------------------------------
/images/ConfigureDebugger.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/ConfigureDebugger.gif
--------------------------------------------------------------------------------
/images/ConfigureTests.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/ConfigureTests.gif
--------------------------------------------------------------------------------
/images/InterpreterSelectionZoom.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/InterpreterSelectionZoom.gif
--------------------------------------------------------------------------------
/images/JavascriptProfiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/JavascriptProfiler.png
--------------------------------------------------------------------------------
/images/OpenOrCreateNotebook.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/OpenOrCreateNotebook.gif
--------------------------------------------------------------------------------
/images/dataviewer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/dataviewer.gif
--------------------------------------------------------------------------------
/images/debugDemo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/debugDemo.gif
--------------------------------------------------------------------------------
/images/general.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/general.gif
--------------------------------------------------------------------------------
/images/interactive.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/interactive.gif
--------------------------------------------------------------------------------
/images/kernelchange.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/kernelchange.gif
--------------------------------------------------------------------------------
/images/plotviewer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/plotviewer.gif
--------------------------------------------------------------------------------
/images/remoteserver.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/remoteserver.gif
--------------------------------------------------------------------------------
/images/runbyline.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/runbyline.gif
--------------------------------------------------------------------------------
/images/savetopythonfile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/savetopythonfile.png
--------------------------------------------------------------------------------
/images/unittest.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/unittest.gif
--------------------------------------------------------------------------------
/images/variableexplorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/images/variableexplorer.png
--------------------------------------------------------------------------------
/languages/pip-requirements.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "lineComment": "#"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/news/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.languageServer": "Microsoft",
3 | "python.formatting.provider": "black",
4 | "editor.formatOnSave": true,
5 | "python.testing.pytestArgs": ["."],
6 | "python.testing.unittestEnabled": false,
7 | "python.testing.nosetestsEnabled": false,
8 | "python.testing.pytestEnabled": true
9 | }
10 |
--------------------------------------------------------------------------------
/news/1 Enhancements/10496.md:
--------------------------------------------------------------------------------
1 | Opening notebooks in the preview Notebook editor for [Visual Studio Code Insiders](https://code.visualstudio.com/insiders/).
2 | * Install Python extension in the latest [Visual Studio Code Insiders](https://code.visualstudio.com/insiders/).
3 | * Wait for `Python Extension` to get activated (e.g. open a `Python` file).
4 | * Right click on an `*.ipynb (Jupyter Notebook)` file and select `Open in preview Notebook Editor`.
5 |
--------------------------------------------------------------------------------
/news/1 Enhancements/12414.md:
--------------------------------------------------------------------------------
1 | Add cell editing shortcuts for python interactive cells. Thanks [@earthastronaut](https://github.com/earthastronaut/)!
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/12827.md:
--------------------------------------------------------------------------------
1 | Allow `python.dataScience.runStartupCommands` to be an array. (thanks @janosh)
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/12828.md:
--------------------------------------------------------------------------------
1 | Remember remote kernel ids when reopening notebooks.
--------------------------------------------------------------------------------
/news/1 Enhancements/12959.md:
--------------------------------------------------------------------------------
1 | The file explorer dialog now has an appropriate title when browsing for an interpreter. (thanks [ziebam](https://github.com/ziebam))
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/12980.md:
--------------------------------------------------------------------------------
1 | Warn users if they are connecting over http without a token.
--------------------------------------------------------------------------------
/news/1 Enhancements/12988.md:
--------------------------------------------------------------------------------
1 | Allow a custom display string for remote servers as part of the remote Jupyter server provider extensibility point.
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/13037.md:
--------------------------------------------------------------------------------
1 | Update to the latest version of [`jedi`](https://github.com/davidhalter/jedi) (`0.17.2`). This adds support for Python 3.9 and fixes some bugs, but is expected to be the last release to support Python 2.7 and 3.5. (thanks [Peter Law](https://github.com/PeterJCLaw/))
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/13122.md:
--------------------------------------------------------------------------------
1 | Expose `Pylance` setting in `python.languageServer`. If [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) is not installed, prompt user to install it.
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/13218.md:
--------------------------------------------------------------------------------
1 | Added "pythonArgs" to debugpy launch.json schema.
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/13259.md:
--------------------------------------------------------------------------------
1 | Use jupyter inspect to get signature of dynamic functions in notebook editor when language server doesn't provide enough hint.
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/3073.md:
--------------------------------------------------------------------------------
1 | Add "Restart Language Server" command
2 |
--------------------------------------------------------------------------------
/news/1 Enhancements/3104.md:
--------------------------------------------------------------------------------
1 | Support multiple and per file interactive windows. See the description for the new 'python.dataScience.interactiveWindowMode' setting.
--------------------------------------------------------------------------------
/news/1 Enhancements/README.md:
--------------------------------------------------------------------------------
1 | Changes that add new features.
2 |
3 |
--------------------------------------------------------------------------------
/news/2 Fixes/10924.md:
--------------------------------------------------------------------------------
1 | Gathered notebooks will now use the same kernelspec as the notebook it was created from.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/11122.md:
--------------------------------------------------------------------------------
1 | Check for hideFromUser before activating current terminal.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/11743.md:
--------------------------------------------------------------------------------
1 | Don't loop selection through all failed tests every time tests are run.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/11875.md:
--------------------------------------------------------------------------------
1 | Some tools (like pytest) rely on the existence of `sys.path[0]`, so
2 | deleting it in the isolation script can sometimes cause problems. The
3 | solution is to point `sys.path[0]` to a bogus directory that we know
4 | does not exist (assuming noone modifies the extension install dir).
5 |
--------------------------------------------------------------------------------
/news/2 Fixes/12202.md:
--------------------------------------------------------------------------------
1 | Fix missing css for some ipywidget output.
--------------------------------------------------------------------------------
/news/2 Fixes/12510.md:
--------------------------------------------------------------------------------
1 | Delete backing untitled ipynb notebook files as soon as the remote session has been created.
2 |
3 |
--------------------------------------------------------------------------------
/news/2 Fixes/12766.md:
--------------------------------------------------------------------------------
1 | Make the data science variable explorer support high contrast color theme.
--------------------------------------------------------------------------------
/news/2 Fixes/12821.md:
--------------------------------------------------------------------------------
1 | Use the given interpreter for launching the non-daemon python
--------------------------------------------------------------------------------
/news/2 Fixes/12833.md:
--------------------------------------------------------------------------------
1 | The change in PR #12795 led to one particular test suite to take longer
2 | to run. Here we increase the timeout for that suite to get the test
3 | passing.
4 |
--------------------------------------------------------------------------------
/news/2 Fixes/12931.md:
--------------------------------------------------------------------------------
1 | Refactor data science filesystem usage to correctly handle files which are potentially remote.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/12987.md:
--------------------------------------------------------------------------------
1 | Allow custom Jupyter server URI providers to have an expiration on their authorization headers.
--------------------------------------------------------------------------------
/news/2 Fixes/13106.md:
--------------------------------------------------------------------------------
1 | If a webpanel fails to load, dispose our webviewhost so that it can try again.
--------------------------------------------------------------------------------
/news/2 Fixes/13117.md:
--------------------------------------------------------------------------------
1 | Ensure terminal is not shown or activated if hideFromUser is set to true.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/13124.md:
--------------------------------------------------------------------------------
1 | Do not automatically start kernel for untrusted notebooks.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/13156.md:
--------------------------------------------------------------------------------
1 | Fix settings links to open correctly in the notebook editor.
--------------------------------------------------------------------------------
/news/2 Fixes/13165.md:
--------------------------------------------------------------------------------
1 | "a" and "b" Jupyter shortcuts should not automatically enter edit mode.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/13172.md:
--------------------------------------------------------------------------------
1 | Scope custom notebook keybindings to Jupyter Notebooks.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/13205.md:
--------------------------------------------------------------------------------
1 | Rename "Count" column in variable explorer to "Size".
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/13235.md:
--------------------------------------------------------------------------------
1 | Handle `Save As` of preview Notebooks.
2 |
--------------------------------------------------------------------------------
/news/2 Fixes/README.md:
--------------------------------------------------------------------------------
1 | Changes that fix broken behaviour.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/10772.md:
--------------------------------------------------------------------------------
1 | Move non-mock jupyter nightly tests to use raw kernel by default.
--------------------------------------------------------------------------------
/news/3 Code Health/12554.md:
--------------------------------------------------------------------------------
1 | Add tests for trusted notebooks.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/12809.md:
--------------------------------------------------------------------------------
1 | Add new services to data science IOC container and rename misspelled service.
--------------------------------------------------------------------------------
/news/3 Code Health/12844.md:
--------------------------------------------------------------------------------
1 | Update categories in `package.json`.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/12893.md:
--------------------------------------------------------------------------------
1 | Disable Notebook icons when Notebook is not trusted.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/12919.md:
--------------------------------------------------------------------------------
1 | Removed control tower code for the start page.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/12966.md:
--------------------------------------------------------------------------------
1 | Add better tests for trusted notebooks in the classic notebook editor.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/12977.md:
--------------------------------------------------------------------------------
1 | Custom renderers for `png/jpeg` images in `Notebooks`.
2 |
--------------------------------------------------------------------------------
/news/3 Code Health/13075.md:
--------------------------------------------------------------------------------
1 | Fix broken nightly variable explorer tests.
--------------------------------------------------------------------------------
/news/3 Code Health/13171.md:
--------------------------------------------------------------------------------
1 | Fix nightly flake test failures for startup and shutdown native editor test.
--------------------------------------------------------------------------------
/news/3 Code Health/13269.md:
--------------------------------------------------------------------------------
1 | Fix failing interactive window and variable explorer tests.
--------------------------------------------------------------------------------
/news/3 Code Health/README.md:
--------------------------------------------------------------------------------
1 | Changes that should not be user-facing.
2 |
--------------------------------------------------------------------------------
/news/__main__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | import runpy
5 |
6 | runpy.run_module('announce', run_name='__main__', alter_sys=True)
7 |
--------------------------------------------------------------------------------
/news/requirements.in:
--------------------------------------------------------------------------------
1 | docopt
2 | pytest
3 |
--------------------------------------------------------------------------------
/pythonFiles/.env:
--------------------------------------------------------------------------------
1 | PYTHONPATH=./lib/python
2 |
--------------------------------------------------------------------------------
/pythonFiles/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude": {
3 | "**/__pycache__/**": true,
4 | "**/**/*.pyc": true
5 | },
6 | "python.formatting.provider": "black"
7 | }
8 |
--------------------------------------------------------------------------------
/pythonFiles/interpreterInfo.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | import json
5 | import sys
6 |
7 | obj = {}
8 | obj["versionInfo"] = tuple(sys.version_info)
9 | obj["sysPrefix"] = sys.prefix
10 | obj["version"] = sys.version
11 | obj["is64Bit"] = sys.maxsize > 2 ** 32
12 |
13 | print(json.dumps(obj))
14 |
--------------------------------------------------------------------------------
/pythonFiles/printEnvVariables.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | import os
5 | import json
6 |
7 | print(json.dumps(dict(os.environ)))
8 |
--------------------------------------------------------------------------------
/pythonFiles/printEnvVariablesToFile.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | import os
5 | import json
6 | import sys
7 |
8 |
9 | # Last argument is the target file into which we'll write the env variables as json.
10 | json_file = sys.argv[-1]
11 |
12 | with open(json_file, "w") as outfile:
13 | json.dump(dict(os.environ), outfile)
14 |
--------------------------------------------------------------------------------
/pythonFiles/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.black]
2 | exclude = '''
3 |
4 | (
5 | /(
6 | .data
7 | | .vscode
8 | | lib
9 | )/
10 | )
11 | '''
12 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/adapter/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/adapter/errors.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 |
5 | class UnsupportedToolError(ValueError):
6 | def __init__(self, tool):
7 | msg = "unsupported tool {!r}".format(tool)
8 | super(UnsupportedToolError, self).__init__(msg)
9 | self.tool = tool
10 |
11 |
12 | class UnsupportedCommandError(ValueError):
13 | def __init__(self, cmd):
14 | msg = "unsupported cmd {!r}".format(cmd)
15 | super(UnsupportedCommandError, self).__init__(msg)
16 | self.cmd = cmd
17 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/adapter/pytest/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | from __future__ import absolute_import
5 |
6 | from ._cli import add_subparser as add_cli_subparser
7 | from ._discovery import discover
8 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/adapter/pytest/_cli.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | from __future__ import absolute_import
5 |
6 | from ..errors import UnsupportedCommandError
7 |
8 |
9 | def add_subparser(cmd, name, parent):
10 | """Add a new subparser to the given parent and add args to it."""
11 | parser = parent.add_parser(name)
12 | if cmd == "discover":
13 | # For now we don't have any tool-specific CLI options to add.
14 | pass
15 | else:
16 | raise UnsupportedCommandError(cmd)
17 | return parser
18 |
--------------------------------------------------------------------------------
/pythonFiles/testing_tools/run_adapter.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # Replace the "." entry.
5 | import os.path
6 | import sys
7 |
8 | sys.path.insert(
9 | 1,
10 | os.path.dirname( # pythonFiles
11 | os.path.dirname( # pythonFiles/testing_tools
12 | os.path.abspath(__file__) # this file
13 | )
14 | ),
15 | )
16 |
17 | from testing_tools.adapter.__main__ import parse_args, main
18 |
19 |
20 | if __name__ == "__main__":
21 | tool, cmd, subargs, toolargs = parse_args()
22 | main(tool, cmd, subargs, toolargs)
23 |
--------------------------------------------------------------------------------
/pythonFiles/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 | import os.path
4 |
5 | TEST_ROOT = os.path.dirname(__file__)
6 | SRC_ROOT = os.path.dirname(TEST_ROOT)
7 | PROJECT_ROOT = os.path.dirname(SRC_ROOT)
8 | IPYTHON_ROOT = os.path.join(SRC_ROOT, "ipython")
9 | TESTING_TOOLS_ROOT = os.path.join(SRC_ROOT, "testing_tools")
10 | DEBUG_ADAPTER_ROOT = os.path.join(SRC_ROOT, "debug_adapter")
11 |
12 | PYTHONFILES = os.path.join(SRC_ROOT, "lib", "python")
13 |
--------------------------------------------------------------------------------
/pythonFiles/tests/debug_adapter/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/tests/ipython/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/tests/run_all.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | # Replace the "." entry.
5 | import os.path
6 | import sys
7 |
8 | sys.path[0] = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
9 |
10 | from tests.__main__ import main, parse_args
11 |
12 |
13 | if __name__ == "__main__":
14 | mainkwargs, pytestargs = parse_args()
15 | ec = main(pytestargs, **mainkwargs)
16 | sys.exit(ec)
17 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/b/C/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/b/C/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/b/C/test_Spam.py:
--------------------------------------------------------------------------------
1 |
2 | def test_okay():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/b/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/A/b/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/NormCase/tests/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/spam.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_42-43.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_42.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_doctest.py:
--------------------------------------------------------------------------------
1 | """
2 | Doctests:
3 |
4 | >>> 1 == 1
5 | True
6 | """
7 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_doctest.txt:
--------------------------------------------------------------------------------
1 |
2 | assignment & lookup:
3 |
4 | >>> x = 3
5 | >>> x
6 | 3
7 |
8 | deletion:
9 |
10 | >>> del x
11 | >>> x
12 | Traceback (most recent call last):
13 | ...
14 | NameError: name 'x' is not defined
15 |
16 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_foo.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | def test_simple():
4 | assert True
5 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_mixed.py:
--------------------------------------------------------------------------------
1 | import pytest
2 | import unittest
3 |
4 |
5 | def test_top_level():
6 | assert True
7 |
8 |
9 | @pytest.mark.skip
10 | def test_skipped():
11 | assert False
12 |
13 |
14 | class TestMySuite(object):
15 |
16 | def test_simple(self):
17 | assert True
18 |
19 |
20 | class MyTests(unittest.TestCase):
21 |
22 | def test_simple(self):
23 | assert True
24 |
25 | @pytest.mark.skip
26 | def test_skipped(self):
27 | assert False
28 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/test_pytest_param.py:
--------------------------------------------------------------------------------
1 | import pytest
2 |
3 |
4 | # module-level parameterization
5 | pytestmark = pytest.mark.parametrize('x', [(1,), (1.0,), (1+0j,)])
6 |
7 |
8 | def test_param_13(x):
9 | assert x == 1
10 |
11 |
12 | class TestParamAll(object):
13 |
14 | def test_param_13(self, x):
15 | assert x == 1
16 |
17 | def test_spam_13(self, x):
18 | assert x == 1
19 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/testspam.py:
--------------------------------------------------------------------------------
1 | '''
2 | ...
3 | ...
4 | ...
5 | '''
6 |
7 |
8 | def test_simple():
9 | assert True
10 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/spam.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple(self):
3 | assert True
4 |
5 |
6 | class TestSimple(object):
7 |
8 | def test_simple(self):
9 | assert True
10 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/test_eggs.py:
--------------------------------------------------------------------------------
1 | from .spam import *
2 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/test_ham.py:
--------------------------------------------------------------------------------
1 | from .spam import test_simple
2 | from .spam import test_simple as test_not_hard
3 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/v/test_spam.py:
--------------------------------------------------------------------------------
1 | from .spam import test_simple
2 |
3 |
4 | def test_simpler(self):
5 | assert True
6 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/w/test_spam.py:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | def test_simple():
5 | assert True
6 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/w/test_spam_ex.py:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | def test_simple():
5 | assert True
6 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/a/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/a/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/a/test_spam.py:
--------------------------------------------------------------------------------
1 | """
2 | ...
3 | """
4 |
5 |
6 | # ...
7 |
8 | ANSWER = 42
9 |
10 |
11 | def test_simple():
12 | assert True
13 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/b/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/b/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/b/test_spam.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | # ?!?
4 | CHORUS = 'spamspamspamspamspam...'
5 |
6 |
7 | def test_simple():
8 | assert True
9 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/complex/tests/x/y/z/test_ham.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/notests/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/notests/tests/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/simple/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/simple/tests/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/simple/tests/test_spam.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/syntax-error/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/pythonFiles/tests/testing_tools/adapter/.data/syntax-error/tests/__init__.py
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/.data/syntax-error/tests/test_spam.py:
--------------------------------------------------------------------------------
1 |
2 | def test_simple():
3 | assert True
4 |
5 |
6 | # A syntax error:
7 | :
8 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/tests/testing_tools/adapter/pytest/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/daemon/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameRows.py:
--------------------------------------------------------------------------------
1 | # Query for the rows of a data frame
2 | import pandas.io.json as _VSCODE_pd_json
3 | import vscodeDataFrameHelpers as _VSCODE_dataFrameHelpers
4 |
5 | # Function to retrieve a set of rows for a data frame
6 | def _VSCODE_getDataFrameRows(df, start, end):
7 | df = _VSCODE_dataFrameHelpers._VSCODE_convertToDataFrame(df)
8 |
9 | # Turn into JSON using pandas. We use pandas because it's about 3 orders of magnitude faster to turn into JSON
10 | rows = df.iloc[start:end]
11 | return _VSCODE_pd_json.to_json(None, rows, orient="table", date_format="iso")
12 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/getJupyterKernels.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | import json
5 | import jupyter_client.kernelspec
6 | import sys
7 |
8 |
9 | specs = jupyter_client.kernelspec.KernelSpecManager().get_all_specs()
10 | all_specs = {"kernelspecs": specs}
11 |
12 | sys.stdout.write(json.dumps(all_specs))
13 | sys.stdout.flush()
14 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/getJupyterKernelspecVersion.py:
--------------------------------------------------------------------------------
1 | # Check whether kernelspec module exists.
2 | import sys
3 | import jupyter_client
4 | import jupyter_client.kernelspec
5 |
6 | sys.stdout.write(jupyter_client.__version__)
7 | sys.stdout.flush()
8 |
--------------------------------------------------------------------------------
/pythonFiles/vscode_datascience_helpers/jupyter_nbInstalled.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) Microsoft Corporation. All rights reserved.
2 | # Licensed under the MIT License.
3 |
4 | try:
5 | from notebook import notebookapp as app
6 |
7 | print("Available")
8 | except Exception:
9 | print("No")
10 |
--------------------------------------------------------------------------------
/requirements.in:
--------------------------------------------------------------------------------
1 | # IntelliSense
2 | jedi==0.17.2
3 | # Sort Imports
4 | isort==4.3.21
5 | # DS Python daemon
6 | python-jsonrpc-server==0.2.0
7 |
--------------------------------------------------------------------------------
/resources/InstallJupyter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/resources/InstallJupyter.png
--------------------------------------------------------------------------------
/resources/PythonSelector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/resources/PythonSelector.png
--------------------------------------------------------------------------------
/resources/ctagOptions:
--------------------------------------------------------------------------------
1 | --recurse=yes
2 | --tag-relative=yes
3 | --exclude=.git
4 | --exclude=log
5 | --exclude=tmp
6 | --exclude=doc
7 | --exclude=deps
8 | --exclude=node_modules
9 | --exclude=.vscode
10 | --exclude=public/assets
11 | --exclude=*.git*
12 | --exclude=*.pyc
13 | --exclude=*.pyo
14 | --exclude=.DS_Store
15 | --exclude=**/*.jar
16 | --exclude=**/*.class
17 | --exclude=**/.idea/
18 | --exclude=build
19 | --exclude=Builds
20 | --exclude=doc
21 | --fields=Knz
22 | --extra=+f
23 | --append=no
--------------------------------------------------------------------------------
/resources/dark/open-file.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/resources/dark/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/dark/refresh.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/resources/dark/repl.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/dark/restart-kernel.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/dark/run-file.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/dark/run-tests.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/dark/start.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/light/open-file.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/resources/light/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/light/refresh.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/resources/light/repl.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/light/restart-kernel.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/light/run-file.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/resources/light/run-tests.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/resources/light/start.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/client/.gitignore:
--------------------------------------------------------------------------------
1 | out
2 | server
3 | node_modules
--------------------------------------------------------------------------------
/src/client/.vscodeignore:
--------------------------------------------------------------------------------
1 | .vscode/**
2 | typings/**
3 | out/test/**
4 | test/**
5 | src/**
6 | **/*.map
7 | .gitignore
8 | tsconfig.json
9 | vsc-extension-quickstart.md
10 |
--------------------------------------------------------------------------------
/src/client/activation/commands.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export namespace Commands {
6 | export const ClearAnalyisCache = 'python.analysis.clearCache';
7 | export const RestartLS = 'python.analysis.restartLanguageServer';
8 | }
9 |
--------------------------------------------------------------------------------
/src/client/application/diagnostics/commands/base.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { IDiagnostic, IDiagnosticCommand } from '../types';
7 |
8 | export abstract class BaseDiagnosticCommand implements IDiagnosticCommand {
9 | constructor(public readonly diagnostic: IDiagnostic) {}
10 | public abstract invoke(): Promise;
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/application/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { Resource } from '../common/types';
7 |
8 | export const IApplicationDiagnostics = Symbol('IApplicationDiagnostics');
9 |
10 | export interface IApplicationDiagnostics {
11 | /**
12 | * Perform pre-extension activation health checks.
13 | * E.g. validate user environment, etc.
14 | * @returns {Promise}
15 | * @memberof IApplicationDiagnostics
16 | */
17 | performPreStartupHealthCheck(resource: Resource): Promise;
18 | register(): void;
19 | }
20 |
--------------------------------------------------------------------------------
/src/client/common/application/clipboard.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { injectable } from 'inversify';
7 | import { env } from 'vscode';
8 | import { IClipboard } from './types';
9 |
10 | @injectable()
11 | export class ClipboardService implements IClipboard {
12 | public async readText(): Promise {
13 | return env.clipboard.readText();
14 | }
15 | public async writeText(value: string): Promise {
16 | await env.clipboard.writeText(value);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/client/common/contextKey.ts:
--------------------------------------------------------------------------------
1 | import { ICommandManager } from './application/types';
2 |
3 | export class ContextKey {
4 | public get value(): boolean | undefined {
5 | return this.lastValue;
6 | }
7 | private lastValue?: boolean;
8 |
9 | constructor(private name: string, private commandManager: ICommandManager) {}
10 |
11 | public async set(value: boolean): Promise {
12 | if (this.lastValue === value) {
13 | return;
14 | }
15 | this.lastValue = value;
16 | await this.commandManager.executeCommand('setContext', this.name, this.lastValue);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/client/common/dotnet/services/unknownOsCompatibilityService.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { injectable } from 'inversify';
7 | import { traceDecorators } from '../../logger';
8 | import { IOSDotNetCompatibilityService } from '../types';
9 |
10 | @injectable()
11 | export class UnknownOSDotNetCompatibilityService implements IOSDotNetCompatibilityService {
12 | @traceDecorators.info('Unable to determine compatiblity of DOT.NET with an unknown OS')
13 | public async isSupported() {
14 | return false;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/client/common/dotnet/services/windowsCompatibilityService.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { injectable } from 'inversify';
7 | import { IOSDotNetCompatibilityService } from '../types';
8 |
9 | @injectable()
10 | export class WindowsDotNetCompatibilityService implements IOSDotNetCompatibilityService {
11 | public async isSupported() {
12 | return true;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/client/common/dotnet/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export const IDotNetCompatibilityService = Symbol('IDotNetCompatibilityService');
7 | export interface IDotNetCompatibilityService {
8 | isSupported(): Promise;
9 | }
10 | export const IOSDotNetCompatibilityService = Symbol('IOSDotNetCompatibilityService');
11 | export interface IOSDotNetCompatibilityService extends IDotNetCompatibilityService {}
12 |
--------------------------------------------------------------------------------
/src/client/common/errors/moduleNotInstalledError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | export class ModuleNotInstalledError extends Error {
5 | constructor(moduleName: string) {
6 | super(`Module '${moduleName}' not installed.`);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/client/common/logger.ts:
--------------------------------------------------------------------------------
1 | // These are all just temporary aliases, for backward compatibility
2 | // and to avoid churn.
3 | export {
4 | traceDecorators,
5 | logError as traceError,
6 | logInfo as traceInfo,
7 | logVerbose as traceVerbose,
8 | logWarning as traceWarning
9 | } from '../logging';
10 | export { TraceOptions as LogOptions } from '../logging/trace';
11 |
--------------------------------------------------------------------------------
/src/client/common/net/browser.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | // tslint:disable:no-var-requires
7 |
8 | import { injectable } from 'inversify';
9 | import { env, Uri } from 'vscode';
10 | import { IBrowserService } from '../types';
11 |
12 | export function launch(url: string) {
13 | env.openExternal(Uri.parse(url));
14 | }
15 |
16 | @injectable()
17 | export class BrowserService implements IBrowserService {
18 | public launch(url: string): void {
19 | launch(url);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/client/common/platform/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | // tslint:disable-next-line:no-suspicious-comment
5 | // TODO : Drop all these in favor of IPlatformService.
6 | // See https://github.com/microsoft/vscode-python/issues/8542.
7 |
8 | export const WINDOWS_PATH_VARIABLE_NAME = 'Path';
9 | export const NON_WINDOWS_PATH_VARIABLE_NAME = 'PATH';
10 | export const IS_WINDOWS = /^win/.test(process.platform);
11 |
--------------------------------------------------------------------------------
/src/client/common/process/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | export const DEFAULT_ENCODING = 'utf8';
5 |
--------------------------------------------------------------------------------
/src/client/common/process/decoder.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | import * as iconv from 'iconv-lite';
5 | import { injectable } from 'inversify';
6 | import { DEFAULT_ENCODING } from './constants';
7 | import { IBufferDecoder } from './types';
8 |
9 | @injectable()
10 | export class BufferDecoder implements IBufferDecoder {
11 | public decode(buffers: Buffer[], encoding: string = DEFAULT_ENCODING): string {
12 | encoding = iconv.encodingExists(encoding) ? encoding : DEFAULT_ENCODING;
13 | return iconv.decode(Buffer.concat(buffers), encoding);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/client/common/refBool.ts:
--------------------------------------------------------------------------------
1 | export class RefBool {
2 | constructor(private val: boolean) {}
3 |
4 | public get value(): boolean {
5 | return this.val;
6 | }
7 |
8 | public update(newVal: boolean) {
9 | this.val = newVal;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/common/utils/stopWatch.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export class StopWatch {
7 | private started = new Date().getTime();
8 | public get elapsedTime() {
9 | return new Date().getTime() - this.started;
10 | }
11 | public reset() {
12 | this.started = new Date().getTime();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/client/common/utils/version.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import * as semver from 'semver';
7 |
8 | export function parseVersion(raw: string): semver.SemVer {
9 | raw = raw.replace(/\.00*(?=[1-9]|0\.)/, '.');
10 | const ver = semver.coerce(raw);
11 | if (ver === null || !semver.valid(ver)) {
12 | // tslint:disable-next-line: no-suspicious-comment
13 | // TODO: Raise an exception instead?
14 | return new semver.SemVer('0.0.0');
15 | }
16 | return ver;
17 | }
18 |
--------------------------------------------------------------------------------
/src/client/datascience/export/exportToHTML.ts:
--------------------------------------------------------------------------------
1 | import { injectable } from 'inversify';
2 | import { CancellationToken, Uri } from 'vscode';
3 | import { ExportBase } from './exportBase';
4 | import { ExportFormat } from './types';
5 |
6 | @injectable()
7 | export class ExportToHTML extends ExportBase {
8 | public async export(source: Uri, target: Uri, token: CancellationToken): Promise {
9 | await this.executeCommand(source, target, ExportFormat.html, token);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/datascience/export/exportToPDF.ts:
--------------------------------------------------------------------------------
1 | import { injectable } from 'inversify';
2 | import { CancellationToken, Uri } from 'vscode';
3 | import { ExportBase } from './exportBase';
4 | import { ExportFormat } from './types';
5 |
6 | @injectable()
7 | export class ExportToPDF extends ExportBase {
8 | public async export(source: Uri, target: Uri, token: CancellationToken): Promise {
9 | await this.executeCommand(source, target, ExportFormat.pdf, token);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/datascience/export/exportToPython.ts:
--------------------------------------------------------------------------------
1 | import { injectable } from 'inversify';
2 | import { CancellationToken, Uri } from 'vscode';
3 | import { ExportBase } from './exportBase';
4 |
5 | @injectable()
6 | export class ExportToPython extends ExportBase {
7 | public async export(source: Uri, target: Uri, token: CancellationToken): Promise {
8 | if (token.isCancellationRequested) {
9 | return;
10 | }
11 | const contents = await this.importer.importFromFile(source);
12 | await this.fs.writeFile(target, contents);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/client/datascience/ipywidgets/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | export const WIDGET_MIMETYPE = 'application/vnd.jupyter.widget-view+json';
5 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/interpreter/README.md:
--------------------------------------------------------------------------------
1 | # Contains code related to the interpreter(s) used to start Jupyter, get kernel specs, etc.
2 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/invalidNotebookFileError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 | import * as localize from '../../common/utils/localize';
6 |
7 | export class InvalidNotebookFileError extends Error {
8 | constructor(file?: string) {
9 | super(
10 | file
11 | ? localize.DataScience.invalidNotebookFileErrorFormat().format(file)
12 | : localize.DataScience.invalidNotebookFileError()
13 | );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterConnectError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 |
6 | export class JupyterConnectError extends Error {
7 | constructor(message: string, stderr?: string) {
8 | super(message + (stderr ? `\n${stderr}` : ''));
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterDataRateLimitError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import * as localize from '../../common/utils/localize';
5 |
6 | export class JupyterDataRateLimitError extends Error {
7 | constructor() {
8 | super(localize.DataScience.jupyterDataRateExceeded());
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterDebuggerNotInstalledError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 | import * as localize from '../../common/utils/localize';
6 |
7 | export class JupyterDebuggerNotInstalledError extends Error {
8 | constructor(debuggerPkg: string, message?: string) {
9 | const errorMessage = message
10 | ? message
11 | : localize.DataScience.jupyterDebuggerNotInstalledError().format(debuggerPkg);
12 | super(errorMessage);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterDebuggerRemoteNotSupported.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 | import * as localize from '../../common/utils/localize';
6 |
7 | export class JupyterDebuggerRemoteNotSupported extends Error {
8 | constructor() {
9 | super(localize.DataScience.remoteDebuggerNotSupported());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterInstallError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 | import { HelpLinks } from '../constants';
6 |
7 | export class JupyterInstallError extends Error {
8 | public action: string;
9 | public actionTitle: string;
10 |
11 | constructor(message: string, actionFormatString: string) {
12 | super(message);
13 | this.action = HelpLinks.PythonInteractiveHelpLink;
14 | this.actionTitle = actionFormatString.format(HelpLinks.PythonInteractiveHelpLink);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterInterruptError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export class JupyterInterruptError extends Error {
6 | constructor(message: string) {
7 | super(message);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterSelfCertsError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import '../../common/extensions';
5 |
6 | export class JupyterSelfCertsError extends Error {
7 | constructor(message: string) {
8 | super(message);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterWaitForIdleError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export class JupyterWaitForIdleError extends Error {
6 | constructor(message: string) {
7 | super(message);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/jupyterZMQBinariesNotFoundError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export class JupyterZMQBinariesNotFoundError extends Error {
6 | constructor(message: string) {
7 | super(message);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/client/datascience/jupyter/kernels/jupyterKernelPromiseFailedError.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export class JupyterKernelPromiseFailedError extends Error {
6 | constructor(message: string) {
7 | super(message);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/client/datascience/monacoMessages.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
5 |
6 | export interface IGetMonacoThemeResponse {
7 | theme: monacoEditor.editor.IStandaloneThemeData;
8 | }
9 |
--------------------------------------------------------------------------------
/src/client/datascience/notebook/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | export const JupyterNotebookView = 'jupyter-notebook';
5 | export const JupyterNotebookRenderer = 'jupyter-notebook-renderer';
6 | export const RendererExtensionId = 'ms-ai-tools.notebook-renderers';
7 | export const RendererExtensionDownloadUri = 'https://aka.ms/NotebookRendererDownloadLink';
8 |
--------------------------------------------------------------------------------
/src/client/debugger/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import * as path from 'path';
7 | import { EXTENSION_ROOT_DIR } from '../common/constants';
8 |
9 | export const DEBUGGER_PATH = path.join(EXTENSION_ROOT_DIR, 'pythonFiles', 'lib', 'python', 'debugpy');
10 | export const DebuggerTypeName = 'python';
11 |
--------------------------------------------------------------------------------
/src/client/debugger/extension/adapter/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export const IPromptShowState = Symbol('IPromptShowState');
7 | export interface IPromptShowState {
8 | shouldShowPrompt(): boolean;
9 | setShowPrompt(show: boolean): void;
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/debugger/extension/hooks/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export enum DebuggerEvents {
7 | // Event sent by PTVSD when a child process is launched and ready to be attached to for multi-proc debugging.
8 | PtvsdAttachToSubprocess = 'ptvsd_attach',
9 | DebugpyAttachToSubprocess = 'debugpyAttach'
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/formatters/serviceRegistry.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | import { IServiceManager } from '../ioc/types';
5 | import { FormatterHelper } from './helper';
6 | import { IFormatterHelper } from './types';
7 |
8 | export function registerTypes(serviceManager: IServiceManager) {
9 | serviceManager.addSingleton(IFormatterHelper, FormatterHelper);
10 | }
11 |
--------------------------------------------------------------------------------
/src/client/interpreter/activation/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { Resource } from '../../common/types';
7 | import { PythonInterpreter } from '../../pythonEnvironments/info';
8 |
9 | export const IEnvironmentActivationService = Symbol('IEnvironmentActivationService');
10 | export interface IEnvironmentActivationService {
11 | getActivatedEnvironmentVariables(
12 | resource: Resource,
13 | interpreter?: PythonInterpreter,
14 | allowExceptions?: boolean
15 | ): Promise;
16 | }
17 |
--------------------------------------------------------------------------------
/src/client/interpreter/autoSelection/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export const unsafeInterpreterPromptKey = 'unsafeInterpreterPromptKey';
7 | export const unsafeInterpretersKey = 'unsafeInterpretersKey';
8 | export const safeInterpretersKey = 'safeInterpretersKey';
9 | export const flaggedWorkspacesKeysStorageKey = 'flaggedWorkspacesKeysInterpreterSecurityStorageKey';
10 | export const learnMoreOnInterpreterSecurityURI = 'https://aka.ms/AA7jfor';
11 |
--------------------------------------------------------------------------------
/src/client/interpreter/virtualEnvs/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | import { Uri } from 'vscode';
5 | import { InterpreterType } from '../../pythonEnvironments/info';
6 | export const IVirtualEnvironmentManager = Symbol('VirtualEnvironmentManager');
7 | export interface IVirtualEnvironmentManager {
8 | getEnvironmentName(pythonPath: string, resource?: Uri): Promise;
9 | getEnvironmentType(pythonPath: string, resource?: Uri): Promise;
10 | getPyEnvRoot(resource?: Uri): Promise;
11 | }
12 |
--------------------------------------------------------------------------------
/src/client/ioc/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | import { IServiceContainer } from './types';
5 |
6 | let container: IServiceContainer;
7 | export function getServiceContainer() {
8 | return container;
9 | }
10 | export function setServiceContainer(serviceContainer: IServiceContainer) {
11 | container = serviceContainer;
12 | }
13 |
--------------------------------------------------------------------------------
/src/client/logging/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | export {
6 | // aliases
7 | // (for convenience)
8 | setLoggingLevel,
9 | addOutputChannelLogging,
10 | logError,
11 | logInfo,
12 | logVerbose,
13 | logWarning,
14 | traceDecorators,
15 | tracing
16 | } from './_global';
17 |
--------------------------------------------------------------------------------
/src/client/providers/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { CancellationToken, Uri, WorkspaceEdit } from 'vscode';
7 |
8 | export const ISortImportsEditingProvider = Symbol('ISortImportsEditingProvider');
9 | export interface ISortImportsEditingProvider {
10 | provideDocumentSortImportsEdits(uri: Uri, token?: CancellationToken): Promise;
11 | sortImports(uri?: Uri): Promise;
12 | registerCommands(): void;
13 | }
14 |
--------------------------------------------------------------------------------
/src/client/pythonEnvironments/discovery/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | /**
5 | * Decide if the given Python executable looks like the MacOS default Python.
6 | */
7 | export function isMacDefaultPythonPath(pythonPath: string) {
8 | return pythonPath === 'python' || pythonPath === '/usr/bin/python';
9 | }
10 |
--------------------------------------------------------------------------------
/src/client/pythonEnvironments/discovery/locators/services/hashProvider.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { inject } from 'inversify';
7 | import { IFileSystem } from '../../../../common/platform/types';
8 |
9 | export class InterpreterHashProvider {
10 | constructor(@inject(IFileSystem) private readonly fs: IFileSystem) {}
11 | public async getInterpreterHash(pythonPath: string): Promise {
12 | return this.fs.getFileHash(pythonPath);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/client/pythonEnvironments/discovery/locators/services/interpreterFilter.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { PythonInterpreter } from '../../../info';
7 | import { isRestrictedWindowsStoreInterpreterPath } from './windowsStoreInterpreter';
8 |
9 | export function isHiddenInterpreter(interpreter: PythonInterpreter): boolean {
10 | // Any set of rules to hide interpreters should go here
11 | return isRestrictedWindowsStoreInterpreterPath(interpreter.path);
12 | }
13 |
--------------------------------------------------------------------------------
/src/client/pythonEnvironments/discovery/locators/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | import { GetInterpreterOptions } from '../../../interpreter/interpreterService';
5 |
6 | export type GetInterpreterLocatorOptions = GetInterpreterOptions & { ignoreCache?: boolean };
7 |
--------------------------------------------------------------------------------
/src/client/workspaceSymbols/contracts.ts:
--------------------------------------------------------------------------------
1 | import { Position, SymbolKind } from 'vscode';
2 |
3 | export interface ITag {
4 | fileName: string;
5 | symbolName: string;
6 | symbolKind: SymbolKind;
7 | position: Position;
8 | code: string;
9 | }
10 |
--------------------------------------------------------------------------------
/src/datascience-ui/common/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
--------------------------------------------------------------------------------
/src/datascience-ui/common/main.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | declare let __webpack_public_path__: string;
5 |
6 | // tslint:disable-next-line: no-any
7 | if ((window as any).__PVSC_Public_Path) {
8 | // This variable tells Webpack to this as the root path used to request webpack bundles.
9 | // tslint:disable-next-line: no-any
10 | __webpack_public_path__ = (window as any).__PVSC_Public_Path;
11 | }
12 |
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/cellFormatter.css:
--------------------------------------------------------------------------------
1 | .number-formatter {
2 | text-align: right;
3 | }
4 |
5 | .cell-formatter {
6 | /* Note: This is impacted by the RowHeightAdjustment in reactSlickGrid.tsx */
7 | margin: 0px 0px 0px 0px;
8 | }
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/emptyRowsView.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/datascience-ui/data-explorer/emptyRowsView.css
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/emptyRowsView.tsx:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import './emptyRowsView.css';
5 |
6 | import * as React from 'react';
7 | import { getLocString } from '../react-common/locReactSide';
8 |
9 | export interface IEmptyRowsProps {}
10 |
11 | export const EmptyRows = (_props: IEmptyRowsProps) => {
12 | const message = getLocString('DataScience.noRowsInDataViewer', 'No rows match current filter');
13 |
14 | return {message}
;
15 | };
16 |
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/mainPanel.css:
--------------------------------------------------------------------------------
1 |
2 | .main-panel {
3 | position: absolute;
4 | bottom: 0;
5 | top: 0px;
6 | left: 0px;
7 | right: 0;
8 | font-size: var(--code-font-size);
9 | font-family: var(--code-font-family);
10 | background-color: var(--vscode-editor-background);
11 | overflow: hidden;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/progressBar.css:
--------------------------------------------------------------------------------
1 | .progress-bar {
2 | margin:2px;
3 | text-align: center;
4 | }
5 |
6 | .progress-container {
7 | padding: 20px;
8 | text-align:center;
9 | }
--------------------------------------------------------------------------------
/src/datascience-ui/data-explorer/reactSlickGridFilterBox.css:
--------------------------------------------------------------------------------
1 | .filter-box {
2 | border-color: var(--vscode-editor-inactiveSelectionBackground);
3 | border-style: solid;
4 | border-width: 1px;
5 | display: block;
6 | position: relative;
7 | left: -2px;
8 | top: -3px;
9 | width: 98%;
10 | padding: 1px;
11 | margin: 0px;
12 | }
13 |
14 | .filter-box:focus {
15 | border-color: var(--vscode-editor-selectionBackground);
16 | outline: none;
17 | }
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/images.d.ts:
--------------------------------------------------------------------------------
1 | // tslint:disable:copyright
2 | // Copyright (c) Microsoft Corporation. All rights reserved.
3 | // Licensed under the MIT License.
4 |
5 | declare module '*.svg';
6 | declare module '*.png';
7 | declare module '*.jpg';
8 |
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/utils.ts:
--------------------------------------------------------------------------------
1 | export function getMaxWidth(charLength: number): string {
2 | // This comes from a linear regression
3 | const width = 0.57674 * charLength + 1.70473;
4 | const unit = 'em';
5 | return Math.round(width).toString() + unit;
6 | }
7 |
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/variableExplorerButtonCellFormatter.css:
--------------------------------------------------------------------------------
1 | .variable-explorer-button-cell {
2 | height: 18px;
3 | width: 18px;
4 | }
5 |
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/variableExplorerEmptyRows.css:
--------------------------------------------------------------------------------
1 | #variable-explorer-empty-rows {
2 | margin: 5px;
3 | font-family: var(--code-font-family);
4 | }
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/variableExplorerEmptyRows.tsx:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 | import './variableExplorerEmptyRows.css';
5 |
6 | import * as React from 'react';
7 | import { getLocString } from '../react-common/locReactSide';
8 |
9 | export const VariableExplorerEmptyRowsView = () => {
10 | const message = getLocString('DataScience.noRowsInVariableExplorer', 'No variables defined');
11 |
12 | return {message}
;
13 | };
14 |
--------------------------------------------------------------------------------
/src/datascience-ui/interactive-common/variableExplorerRowRenderer.tsx:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 | 'use strict';
4 |
5 | import * as React from 'react';
6 |
7 | // tslint:disable:no-any
8 | interface IVariableExplorerRowProps {
9 | renderBaseRow(props: any): JSX.Element;
10 | }
11 |
12 | export const VariableExplorerRowRenderer: React.SFC = (props) => {
13 | return {props.renderBaseRow(props)}
;
14 | };
15 |
--------------------------------------------------------------------------------
/src/datascience-ui/ipywidgets/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | export { WidgetManager } from './manager';
7 | export { WidgetManagerComponent } from './container';
8 |
--------------------------------------------------------------------------------
/src/datascience-ui/plot/mainPanel.css:
--------------------------------------------------------------------------------
1 |
2 | .main-panel {
3 | position: absolute;
4 | bottom: 0;
5 | top: 0;
6 | left: 0;
7 | right: 0;
8 | font-size: var(--code-font-size);
9 | font-family: var(--code-font-family);
10 | background-color: var(--vscode-editor-background);
11 | overflow: hidden;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/src/datascience-ui/plot/toolbar.css:
--------------------------------------------------------------------------------
1 | #plot-toolbar-panel {
2 | position: absolute;
3 | top: 0;
4 | left: 0;
5 | background-color: var(--vscode-editor-background);
6 | border: 1px solid black;
7 | }
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/codicon/codicon-animations.css:
--------------------------------------------------------------------------------
1 | /*---------------------------------------------------------------------------------------------
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License. See License.txt in the project root for license information.
4 | *--------------------------------------------------------------------------------------------*/
5 |
6 | @keyframes codicon-spin {
7 | 100% {
8 | transform:rotate(360deg);
9 | }
10 | }
11 |
12 | .codicon-animation-spin {
13 | animation: codicon-spin 1.5s linear infinite;
14 | }
15 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/codicon/codicon-modifications.css:
--------------------------------------------------------------------------------
1 | /*---------------------------------------------------------------------------------------------
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License. See License.txt in the project root for license information.
4 | *--------------------------------------------------------------------------------------------*/
5 |
6 | .codicon-wrench-subaction {
7 | opacity: 0.5;
8 | }
9 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/codicon/codicon.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | // These values come from VS code source.
5 | export enum CodIcon {
6 | RunByLine = '\uead4', // This is actually debug-step-into
7 | Stop = '\uead7'
8 | }
9 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/codicon/codicon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/datascience-ui/react-common/codicon/codicon.ttf
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/flyout.css:
--------------------------------------------------------------------------------
1 |
2 | .flyout-container {
3 | position: relative;
4 | height: 16px;
5 | width: auto;
6 | }
7 |
8 | .flyout-inner-disabled-filter {
9 | opacity: 0.5;
10 | }
11 |
12 | .flyout-button-hidden {
13 | visibility: hidden;
14 | }
15 |
16 | .flyout-children-hidden {
17 | visibility: hidden;
18 | width: 0px;
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Cancel/Cancel_16xMD_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Cancel/Cancel_16xMD_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/CollapseAll/CollapseAll_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/CollapseAll/CollapseAll_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Copy/copy.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Copy/copy_inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/ExpandAll/ExpandAll_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/ExpandAll/ExpandAll_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/InsertAbove/above-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/InsertAbove/above.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/InsertBelow/below-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/InsertBelow/below.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Interrupt/Interrupt_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Interrupt/Interrupt_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Next/next-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Next/next.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/OpenInNewWindow/OpenInNewWindow_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/OpenInNewWindow/OpenInNewWindow_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/OpenPlot/plot_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/OpenPlot/plot_light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/PopIn/PopIn_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/PopIn/PopIn_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/PopOut/PopOut_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/PopOut/PopOut_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Prev/previous-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Prev/previous.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Redo/Redo_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Redo/Redo_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Restart/Restart_grey_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Restart/Restart_grey_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Run/run-dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Run/run-light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/RunAll/run_all_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/RunAll/run_all_light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/RunByLine/runbyline_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/RunByLine/runbyline_light.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/SaveAs/SaveAs_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/SaveAs/SaveAs_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/Interactive-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/Interactive.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/Notebook-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/Notebook.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/OpenFolder-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/StartPage/OpenFolder.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Undo/Undo_16x_vscode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Undo/Undo_16x_vscode_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Up/up-inverse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/Up/up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/VariableExplorer/variable_explorer_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/images/VariableExplorer/variable_explorer_light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/datascience-ui/react-common/svgViewer.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/datascience-ui/react-common/svgViewer.css
--------------------------------------------------------------------------------
/src/datascience-ui/renderers/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | export const JupyterNotebookRenderer = 'jupyter-notebook-renderer';
5 |
--------------------------------------------------------------------------------
/src/ipywidgets/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | out
3 | dist
4 | **/node_modules
5 | .nyc_output
6 | npm-debug.log
7 | bin/**
8 | obj/**
9 | tmp/**
10 |
--------------------------------------------------------------------------------
/src/ipywidgets/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ipywidgets",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "scripts": {
6 | "build": "npm run clean && tsc && node scripts/copyfiles.js && webpack --mode='production' && npm run copyFile && npm run clean",
7 | "build:dev": "npm run clean && tsc && node scripts/copyfiles.js && webpack --mode='development' && npm run copyFile && npm run clean",
8 | "clean": "rimraf out && rimraf tsconfig.tsbuildinfo && rimraf dist",
9 | "lint": "tslint --project tsconfig.json",
10 | "copyFile": "node scripts/copyBuild.js"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/ipywidgets/scripts/clean.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const rimraf = require('rimraf');
7 | const path = require('path');
8 |
9 | rimraf.sync(path.join(__dirname, '..', '..', '..', 'out', 'ipywidgets'));
10 |
--------------------------------------------------------------------------------
/src/ipywidgets/scripts/copyfiles.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | const path = require('path');
7 | const fs = require('fs');
8 | const outputDir = path.join(__dirname, '..', '..', '..', 'out/ipywidgets');
9 |
10 | if (!fs.existsSync(outputDir)) {
11 | fs.mkdirSync(outputDir);
12 | }
13 | fs.copyFileSync(path.join(__dirname, '../src/widgets.css'), path.join(outputDir, 'widgets.css'));
14 |
--------------------------------------------------------------------------------
/src/ipywidgets/src/widgets.css:
--------------------------------------------------------------------------------
1 | /* Copyright (c) Jupyter Development Team.
2 | * Distributed under the terms of the Modified BSD License.
3 | */
4 |
5 | /*
6 | * This example shows how to customize the theming and still compile the CSS
7 | * down to something that all browsers support.
8 | */
9 | @import "@jupyter-widgets/controls/css/widgets.css";
10 |
--------------------------------------------------------------------------------
/src/ipywidgets/types/index.d.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | // Added to allow compilation of backbone types pulled in from ipywidgets (@jupyterlab/widgets).
5 | declare module JQuery {
6 | type TriggeredEvent = any;
7 | }
8 |
--------------------------------------------------------------------------------
/src/test/.vscode/launch.json.README:
--------------------------------------------------------------------------------
1 | // These configs are used in full-stack integration tests.
2 | // They mostly borrow from the code in src/client/debugger/extension/configuration/providers.
3 |
4 |
--------------------------------------------------------------------------------
/src/test/common/asyncDump.ts:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | //tslint:disable:no-require-imports no-var-requires
4 | const log = require('why-is-node-running');
5 |
6 | // Call this function to debug async hangs. It should print out stack traces of still running promises.
7 | export function asyncDump() {
8 | log();
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/common/misc.test.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | import { expect } from 'chai';
7 | import { isTestExecution } from '../../client/common/constants';
8 |
9 | // Defines a Mocha test suite to group tests of similar kind together
10 | suite('Common - Misc', () => {
11 | test("Ensure its identified that we're running unit tests", () => {
12 | expect(isTestExecution()).to.be.equal(true, 'incorrect');
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/src/test/core.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | // File without any dependencies on VS Code.
7 |
8 | export async function sleep(milliseconds: number) {
9 | return new Promise((resolve) => setTimeout(resolve, milliseconds));
10 | }
11 |
12 | // tslint:disable-next-line:no-empty
13 | export function noop() {}
14 |
15 | export const isWindows = /^win/.test(process.platform);
16 |
--------------------------------------------------------------------------------
/src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /**@type {import('eslint').Linter.Config} */
2 | // eslint-disable-next-line no-undef
3 | module.exports = {
4 | root: true,
5 | parser: '@typescript-eslint/parser',
6 | plugins: [
7 | '@typescript-eslint',
8 | ],
9 | extends: [
10 | 'eslint:recommended',
11 | 'plugin:@typescript-eslint/recommended',
12 | ],
13 | rules: {
14 | 'semi': [2, "always"],
15 | '@typescript-eslint/no-unused-vars': 0,
16 | '@typescript-eslint/no-explicit-any': 0,
17 | '@typescript-eslint/explicit-module-boundary-types': 0,
18 | '@typescript-eslint/no-non-null-assertion': 0,
19 | }
20 | };
--------------------------------------------------------------------------------
/src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 | *.vsix
4 |
--------------------------------------------------------------------------------
/src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4 |
5 | // List of extensions which should be recommended for users of this workspace.
6 | "recommendations": [
7 | "dbaeumer.vscode-eslint"
8 | ]
9 | }
--------------------------------------------------------------------------------
/src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/.vscodeignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | node_modules
3 | src/**
4 | package-json.lock
5 | tsconfig.json
6 | webpack.config.js
7 |
--------------------------------------------------------------------------------
/src/test/datascience/foo.py:
--------------------------------------------------------------------------------
1 | # Dummy file just to find a file for use in jupyter execution
2 |
--------------------------------------------------------------------------------
/src/test/datascience/liveloss.py:
--------------------------------------------------------------------------------
1 | #%%
2 | from time import sleep
3 | import numpy as np
4 |
5 | from livelossplot import PlotLosses
6 |
7 | #%%
8 | liveplot = PlotLosses()
9 |
10 | for i in range(10):
11 | liveplot.update({
12 | 'accuracy': 1 - np.random.rand() / (i + 2.),
13 | 'val_accuracy': 1 - np.random.rand() / (i + 0.5),
14 | 'mse': 1. / (i + 2.),
15 | 'val_mse': 1. / (i + 0.5)
16 | })
17 | liveplot.draw()
18 | sleep(1.)
19 |
--------------------------------------------------------------------------------
/src/test/datascience/manualTestFiles/manualTestFileNoCells.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import pandas as pd
3 | import matplotlib.pyplot as plt
4 |
5 | # Matplotlib Plot
6 | x = np.linspace(0, 20, 100)
7 | plt.plot(x, np.sin(x))
8 | plt.show()
9 |
10 | # Bokeh Plot
11 | from bokeh.io import output_notebook, show
12 | from bokeh.plotting import figure
13 | output_notebook()
14 | p = figure(plot_width=400, plot_height=400)
15 | p.circle([1,2,3,4,5], [6,7,2,4,5], size=15, line_color="navy", fill_color="orange", fill_alpha=0.5)
16 | show(p)
17 |
18 | # Progress bar
19 | from tqdm import trange
20 | import time
21 | for i in trange(100):
22 | time.sleep(0.01)
--------------------------------------------------------------------------------
/src/test/datascience/mockWorkspaceFolder.ts:
--------------------------------------------------------------------------------
1 | import { Uri, WorkspaceFolder } from 'vscode';
2 |
3 | export class MockWorkspaceFolder implements WorkspaceFolder {
4 | public uri: Uri;
5 | public name: string;
6 | public ownedResources = new Set();
7 |
8 | constructor(folder: string, public index: number) {
9 | this.uri = Uri.file(folder);
10 | this.name = folder;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/test/datascience/notebook/empty.ipynb:
--------------------------------------------------------------------------------
1 | {"cells":[],"nbformat":4,"nbformat_minor":2,"metadata":{"language_info":{"name":"python","codemirror_mode":{"name":"ipython","version":3}},"orig_nbformat":2,"file_extension":".py","mimetype":"text/x-python","name":"python","npconvert_exporter":"python","pygments_lexer":"ipython3","version":3}}
2 |
--------------------------------------------------------------------------------
/src/test/datascience/notebook/empty.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/datascience/notebook/empty.py
--------------------------------------------------------------------------------
/src/test/datascience/notebook/test.ipynb:
--------------------------------------------------------------------------------
1 | {"cells":[{"source":["a=1\n","a"],"cell_type":"code","outputs":[{"output_type":"execute_result","data":{"text/plain":"1"},"metadata":{},"execution_count":1}],"metadata":{},"execution_count":1}],"nbformat":4,"nbformat_minor":2,"metadata":{"language_info":{"name":"python","codemirror_mode":{"name":"ipython","version":3}},"orig_nbformat":2,"file_extension":".py","mimetype":"text/x-python","name":"python","npconvert_exporter":"python","pygments_lexer":"ipython3","version":3}}
--------------------------------------------------------------------------------
/src/test/datascience/notebook/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/datascience/notebook/test.png
--------------------------------------------------------------------------------
/src/test/datascience/serverConfigFiles/remoteNoAuth.py:
--------------------------------------------------------------------------------
1 | # With these settings you can connect to a server with no token and no password
2 | c.NotebookApp.token = ''
3 | c.NotebookApp.open_browser = False
4 | c.NotebookApp.disable_check_xsrf = True
--------------------------------------------------------------------------------
/src/test/datascience/serverConfigFiles/remotePassword.py:
--------------------------------------------------------------------------------
1 | c.NotebookApp.ip = "*"
2 | c.NotebookApp.port = 9799
3 | c.NotebookApp.open_browser = False
4 | # Python
5 | c.NotebookApp.password = "sha1:74182e119a7b:e1b98bbba98f9ada3fd714eda9652437e80082e2"
6 |
7 |
--------------------------------------------------------------------------------
/src/test/datascience/serverConfigFiles/remoteToken.py:
--------------------------------------------------------------------------------
1 | c.NotebookApp.open_browser = False
--------------------------------------------------------------------------------
/src/test/debugger/common/constants.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | // Sometimes PTVSD can take a while for thread & other events to be reported.
7 | export const DEBUGGER_TIMEOUT = 20000;
8 |
--------------------------------------------------------------------------------
/src/test/mocks/vsc/telemetryReporter.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | 'use strict';
5 |
6 | // tslint:disable:all
7 | export class vscMockTelemetryReporter {
8 | constructor() {
9 | //
10 | }
11 |
12 | public sendTelemetryEvent(): void {
13 | //
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/parent/child/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.enabled": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/parent/child/childFile.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Child2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfChild(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/workspace1/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.linting.pylintEnabled": true,
3 | "python.linting.enabled": false,
4 | "python.linting.flake8Enabled": true
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/workspace2/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.tagFilePath": "${workspaceRoot}/workspace2.tags.file",
3 | "python.workspaceSymbols.enabled": true
4 | }
5 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/workspace2/workspace2File.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Workspace2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfWorkspace2(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/test/multiRootWkspc/workspace3/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.tagFilePath": "${workspaceRoot}/workspace3.tags.file"
3 | }
4 |
--------------------------------------------------------------------------------
/src/test/performance/sample.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/performance/sample.py
--------------------------------------------------------------------------------
/src/test/performance/settings.json:
--------------------------------------------------------------------------------
1 | { "python.languageServer": "Jedi" }
2 |
--------------------------------------------------------------------------------
/src/test/pythonEnvironments/discovery/globalenv.unit.test.ts:
--------------------------------------------------------------------------------
1 | // Copyright (c) Microsoft Corporation. All rights reserved.
2 | // Licensed under the MIT License.
3 |
4 | suite('getPyenvTypeFinder()', () => {
5 | // We will pull tests over from src/test/interpreters/virtualEnvs/index.unit.test.ts at some point.
6 | });
7 |
8 | suite('getPyenvRootFinder()', () => {
9 | // We will pull tests over from src/test/interpreters/virtualEnvs/index.unit.test.ts at some point.
10 | });
11 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/deco.py:
--------------------------------------------------------------------------------
1 |
2 | import abc
3 | class Decorator(metaclass=abc.ABCMeta):
4 | @abc.-# no abstract class
5 | @abc.abstractclassmethod
6 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/doc.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | if os.path.exists(("/etc/hosts")):
4 | with open("/etc/hosts", "a") as f:
5 | for line in f.readlines():
6 | content = line.upper()
7 |
8 |
9 |
10 | import time
11 | time.slee
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/five.py:
--------------------------------------------------------------------------------
1 | import four
2 | four.showMessage()
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/hoverTest.py:
--------------------------------------------------------------------------------
1 | import random
2 | import math
3 |
4 | for x in range(0, 10):
5 | print(x)
6 |
7 | rnd = random.Random()
8 | print(rnd.randint(0, 5))
9 | print(math.acos(90))
10 |
11 | import misc
12 | rnd2 = misc.Random()
13 | rnd2.randint()
14 |
15 | t = misc.Thread()
16 | t.__init__()
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/imp.py:
--------------------------------------------------------------------------------
1 | from os import *
2 | fsta
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/lamb.py:
--------------------------------------------------------------------------------
1 | instant_print = lambda x: [print(x), sys.stdout.flush(), sys.stderr.flush()]
2 | instant_print("X").
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/pep484.py:
--------------------------------------------------------------------------------
1 |
2 | def greeting(name: str) -> str:
3 | return 'Hello ' + name.upper()
4 |
5 |
6 | def add(num1, num2) -> int:
7 | return num1 + num2
8 |
9 | add().bit_length()
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/pep526.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | PEP_526_style: str = "hello world"
4 | captain: str # Note: no initial value!
5 | PEP_484_style = SOMETHING # type: str
6 |
7 |
8 | PEP_484_style.upper()
9 | PEP_526_style.upper()
10 | captain.upper()
11 |
12 | # https://github.com/DonJayamanne/pythonVSCode/issues/918
13 | class A:
14 | a = 0
15 |
16 |
17 | class B:
18 | b: int = 0
19 |
20 |
21 | A().a # -> Autocomplete works
22 | B().b.bit_length() # -> Autocomplete doesn't work
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/suppress.py:
--------------------------------------------------------------------------------
1 | "string" #comment
2 | """
3 | content
4 | """
5 | #comment
6 | 'un#closed
7 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/three.py:
--------------------------------------------------------------------------------
1 | import two
2 | two.ct().fun()
--------------------------------------------------------------------------------
/src/test/pythonFiles/autocomp/two.py:
--------------------------------------------------------------------------------
1 | class ct:
2 | def fun():
3 | """
4 | This is fun
5 | """
6 | pass
--------------------------------------------------------------------------------
/src/test/pythonFiles/autoimport/one.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/autoimport/one.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/autoimport/two/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/autoimport/two/__init__.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/autoimport/two/three.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/autoimport/two/three.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/datascience/simple_note_book.py:
--------------------------------------------------------------------------------
1 | # %%
2 | import os.path
3 | dir_path = os.path.dirname(os.path.realpath(__file__))
4 |
5 | with open(os.path.join(dir_path, 'ds.log'), 'a') as fp:
6 | fp.write('Hello World')
7 |
8 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/forever.py:
--------------------------------------------------------------------------------
1 | import time
2 |
3 | for i in range(1000):
4 | time.sleep(1)
5 | print(i)
6 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/logMessage.py:
--------------------------------------------------------------------------------
1 | import time
2 | a = 1
3 | b = 2
4 | c = a + b
5 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/loopyTest.py:
--------------------------------------------------------------------------------
1 | for i in range(10):
2 | print(i)
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/multiThread.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import threading
3 | import time
4 |
5 | def bar():
6 | time.sleep(2)
7 | print('bar')
8 |
9 | def foo(x):
10 | while True:
11 | bar()
12 |
13 | threading.Thread(target = lambda: foo(2), name="foo").start()
14 | foo(1)
15 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/printSysArgv.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import time
3 | sys.stdout.write(','.join(sys.argv[1:]))
4 | sys.stdout.flush()
5 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/sample2.py:
--------------------------------------------------------------------------------
1 | import time
2 | time.sleep(3)
3 | a = 1
4 | b = 2
5 | print(a + b)
6 |
7 | def do_something(name):
8 | print("inside")
9 | print(name)
10 |
11 | do_something("Do that")
12 |
13 | print("hello world")
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/sample2WithoutSleep.py:
--------------------------------------------------------------------------------
1 | import time
2 | # time.sleep(3)
3 | a = 1
4 | b = 2
5 | print(a + b)
6 |
7 | def do_something(name):
8 | print("inside")
9 | print(name)
10 |
11 | do_something("Do that")
12 |
13 | print("hello world")
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/sample3WithEx.py:
--------------------------------------------------------------------------------
1 | print("hello")
2 |
3 | def this_will_throw_an_error():
4 | print("inside")
5 | print(1/0)
6 |
7 | this_will_throw_an_error()
8 |
9 | print("bye")
10 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/sampleWithAssertEx.py:
--------------------------------------------------------------------------------
1 | assert False
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/sampleWithSleep.py:
--------------------------------------------------------------------------------
1 | import time
2 | import os
3 | print(os.getpid())
4 | time.sleep(1)
5 | for i in 10000:
6 | time.sleep(0.1)
7 | print(i)
8 | print('end')
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/simplePrint.py:
--------------------------------------------------------------------------------
1 | print("hello world")
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/stackFrame.py:
--------------------------------------------------------------------------------
1 | import time
2 |
3 | def foo():
4 | time.sleep(3)
5 | print(1)
6 |
7 | def bar():
8 | foo()
9 |
10 | bar()
11 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/startAndWait.py:
--------------------------------------------------------------------------------
1 | import time
2 | time.sleep(10)
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/stdErrOutput.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import time
3 | sys.stderr.write('error output')
4 | sys.stderr.flush()
5 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/debugging/stdOutOutput.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import time
3 | sys.stdout.write('normal output')
4 | sys.stdout.flush()
5 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/await.test.py:
--------------------------------------------------------------------------------
1 | # https://github.com/DonJayamanne/pythonVSCode/issues/962
2 |
3 | class A:
4 | def __init__(self):
5 | self.test_value = 0
6 |
7 | async def test(self):
8 | pass
9 |
10 | async def test2(self):
11 | await self.test()
12 |
13 | async def testthis():
14 | """
15 | Wow
16 | """
17 | pass
18 |
19 | await testthis()
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/five.py:
--------------------------------------------------------------------------------
1 | import four
2 | four.showMessage()
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/navigation/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/definition/navigation/__init__.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/navigation/usages.py:
--------------------------------------------------------------------------------
1 | import definitions
2 | from .definitions import my_context_manager, my_decorator, thing
3 |
4 | @definitions.my_decorator
5 | def one():
6 | pass
7 |
8 | @my_decorator
9 | def two():
10 | pass
11 |
12 | with definitions.my_context_manager():
13 | definitions.thing(19)
14 |
15 | with my_context_manager():
16 | thing(19)
17 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/three.py:
--------------------------------------------------------------------------------
1 | import two
2 | two.ct().fun()
--------------------------------------------------------------------------------
/src/test/pythonFiles/definition/two.py:
--------------------------------------------------------------------------------
1 | class ct:
2 | def fun():
3 | """
4 | This is fun
5 | """
6 | pass
--------------------------------------------------------------------------------
/src/test/pythonFiles/docstrings/one.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/docstrings/one.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/dummy.py:
--------------------------------------------------------------------------------
1 | #dummy file to be opened by Test VS Code instance, so that Python Configuration (workspace configuration will be initialized)
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/Scripts/conda.exe:
--------------------------------------------------------------------------------
1 | // Test file
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/bin/python:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/conda/bin/python
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/envs/numpy/bin/python:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/conda/envs/numpy/bin/python
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/envs/numpy/python.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/conda/envs/numpy/python.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/envs/scipy/bin/python:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/conda/envs/scipy/bin/python
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/conda/envs/scipy/python.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/conda/envs/scipy/python.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path1/one:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path1/one
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path1/one.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path1/one.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path1/python.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path1/python.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path2/one:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path2/one
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path2/one.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path2/one.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/environments/path2/python.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/environments/path2/python.exe
--------------------------------------------------------------------------------
/src/test/pythonFiles/exclusions/Lib/fileLib.py:
--------------------------------------------------------------------------------
1 | a
--------------------------------------------------------------------------------
/src/test/pythonFiles/exclusions/Lib/site-packages/sitePackages.py:
--------------------------------------------------------------------------------
1 | b
--------------------------------------------------------------------------------
/src/test/pythonFiles/exclusions/dir1/dir1file.py:
--------------------------------------------------------------------------------
1 | for
--------------------------------------------------------------------------------
/src/test/pythonFiles/exclusions/dir1/dir2/dir2file.py:
--------------------------------------------------------------------------------
1 | for
--------------------------------------------------------------------------------
/src/test/pythonFiles/exclusions/one.py:
--------------------------------------------------------------------------------
1 | if
--------------------------------------------------------------------------------
/src/test/pythonFiles/folding/empty.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/folding/empty.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/formatting/dummy.ts:
--------------------------------------------------------------------------------
1 | // Dummy ts file to ensure this folder gets created in output directory.
2 |
3 | // Code to ensure linter doesn't complain about empty files.
4 | const a = '1';
5 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/formatting/fileToFormatOnEnter.py:
--------------------------------------------------------------------------------
1 | x=1
2 | """x=1
3 | """
4 | # comment
5 | # x=1
6 | x+1 #
7 | @x
8 | x.y
9 | if x<=1:
10 | if 1<=x:
11 | def __init__(self, age = 23)
12 | while(1)
13 | x+"""
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/formatting/formatWhenDirty.py:
--------------------------------------------------------------------------------
1 | x = 0
2 | if x > 0:
3 | x = 1
4 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/formatting/formatWhenDirtyResult.py:
--------------------------------------------------------------------------------
1 | x = 0
2 | if x > 0:
3 | x = 1
4 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/hover/functionHover.py:
--------------------------------------------------------------------------------
1 | def my_func():
2 | """
3 | This is a test.
4 |
5 | It also includes this text, too.
6 | """
7 | pass
8 |
9 | my_func()
10 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/hover/stringFormat.py:
--------------------------------------------------------------------------------
1 |
2 | def print_hello(name):
3 | """say hello to name on stdout.
4 | :param name: the name.
5 | """
6 | print('hello {0}'.format(name).capitalize())
7 |
8 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/flake8config/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | ignore = E302,E901,E127,E261,E261,E261,E303
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/minCheck.py:
--------------------------------------------------------------------------------
1 | filter(lambda x: x == 1, [1, 1, 2])
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/print.py:
--------------------------------------------------------------------------------
1 | print x
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/pycodestyleconfig/.pycodestyle:
--------------------------------------------------------------------------------
1 | [pycodestyle]
2 | ignore = E302,E901,E127,E261,E261,E261,E303
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/pydocstyleconfig27/.pydocstyle:
--------------------------------------------------------------------------------
1 | [pydocstyle]
2 | ignore=D400,D401,D402,D403,D404,D203,D102,D107
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/pylintconfig/.pylintrc:
--------------------------------------------------------------------------------
1 | [MESSAGES CONTROL]
2 | disable=I0011,I0012,C0304,C0103,W0613,E0001,E1101
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/linting/pylintconfig/file2.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Foo(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1(self, arg):
12 | """meth1"""
13 | print self.blop
14 |
15 | def meth2(self, arg):
16 | """meth2"""
17 | # pylint: disable=unused-argument
18 | print self\
19 | + "foo"
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/refactoring/source folder/with empty line.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | def one():
4 | return True
5 |
6 | def two():
7 | if one():
8 | print("A" + one())
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/refactoring/source folder/without empty line.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | def one():
4 | return True
5 |
6 | def two():
7 | if one():
8 | print("A" + one())
--------------------------------------------------------------------------------
/src/test/pythonFiles/shebang/plain.py:
--------------------------------------------------------------------------------
1 |
2 | print("dummy")
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/shebang/shebang.py:
--------------------------------------------------------------------------------
1 | #!python
2 |
3 | print("dummy")
4 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/shebang/shebangEnv.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | print("dummy")
4 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/shebang/shebangInvalid.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env1234 python
2 |
3 | print("dummy")
4 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/signature/basicSig.py:
--------------------------------------------------------------------------------
1 | range(c, 1,
2 |
3 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/signature/classCtor.py:
--------------------------------------------------------------------------------
1 | class Person:
2 | def __init__(self, name, age = 23):
3 | self.name = name
4 | self.age = age
5 |
6 | p1 = Person('Bob', )
7 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/signature/ellipsis.py:
--------------------------------------------------------------------------------
1 | print(a, b, c)
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/signature/noSigPy3.py:
--------------------------------------------------------------------------------
1 | pow()
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/noconfig/after.py:
--------------------------------------------------------------------------------
1 | import io; sys; json
2 | import traceback
3 |
4 | import rope
5 | import rope.base.project
6 | import rope.base.taskhandle
7 | from rope.base import libutils
8 | from rope.refactor.extract import ExtractMethod, ExtractVariable
9 | from rope.refactor.rename import Rename
10 |
11 | WORKSPACE_ROOT = sys.argv[1]
12 | ROPE_PROJECT_FOLDER = sys.argv[2]
13 |
14 |
15 | def test():
16 | pass
17 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/noconfig/before.py:
--------------------------------------------------------------------------------
1 | import io; sys; json
2 | import traceback
3 | import rope
4 |
5 | import rope.base.project
6 | import rope.base.taskhandle
7 |
8 | WORKSPACE_ROOT = sys.argv[1]
9 | ROPE_PROJECT_FOLDER = sys.argv[2]
10 |
11 |
12 | def test():
13 | pass
14 |
15 | from rope.base import libutils
16 | from rope.refactor.rename import Rename
17 | from rope.refactor.extract import ExtractMethod, ExtractVariable
18 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/noconfig/original.py:
--------------------------------------------------------------------------------
1 | import io; sys; json
2 | import traceback
3 | import rope
4 |
5 | import rope.base.project
6 | import rope.base.taskhandle
7 |
8 | WORKSPACE_ROOT = sys.argv[1]
9 | ROPE_PROJECT_FOLDER = sys.argv[2]
10 |
11 |
12 | def test():
13 | pass
14 |
15 | from rope.base import libutils
16 | from rope.refactor.rename import Rename
17 | from rope.refactor.extract import ExtractMethod, ExtractVariable
18 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/.isort.cfg:
--------------------------------------------------------------------------------
1 | [settings]
2 | force_single_line=True
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/after.py:
--------------------------------------------------------------------------------
1 | from third_party import (lib1, lib2, lib3,
2 | lib4, lib5, lib6,
3 | lib7, lib8, lib9)
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/before.1.py:
--------------------------------------------------------------------------------
1 | from third_party import (lib1, lib2, lib3,
2 | lib4, lib5, lib6,
3 | lib7, lib8, lib9)
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/before.py:
--------------------------------------------------------------------------------
1 | from third_party import (lib1, lib2, lib3,
2 | lib4, lib5, lib6,
3 | lib7, lib8, lib9)
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/original.1.py:
--------------------------------------------------------------------------------
1 | from third_party import (lib1, lib2, lib3,
2 | lib4, lib5, lib6,
3 | lib7, lib8, lib9)
--------------------------------------------------------------------------------
/src/test/pythonFiles/sorting/withconfig/original.py:
--------------------------------------------------------------------------------
1 | from third_party import (lib1, lib2, lib3,
2 | lib4, lib5, lib6,
3 | lib7, lib8, lib9)
--------------------------------------------------------------------------------
/src/test/pythonFiles/symbolFiles/childFile.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Child2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfChild(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/symbolFiles/workspace2File.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Workspace2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfWorkspace2(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample1_normalized.py:
--------------------------------------------------------------------------------
1 | # Sample block 1
2 |
3 | def square(x):
4 | return x**2
5 |
6 | print('hello')
7 | # Sample block 2
8 |
9 | a = 2
10 |
11 | if a < 2:
12 | print('less than 2')
13 | else:
14 | print('more than 2')
15 |
16 | print('hello')
17 | # Sample block 3
18 |
19 | for i in range(5):
20 | print(i)
21 | print(i)
22 | print(i)
23 | print(i)
24 |
25 | print('complete')
26 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample1_raw.py:
--------------------------------------------------------------------------------
1 | # Sample block 1
2 | def square(x):
3 | return x**2
4 |
5 | print('hello')
6 | # Sample block 2
7 | a = 2
8 | if a < 2:
9 | print('less than 2')
10 | else:
11 | print('more than 2')
12 |
13 | print('hello')
14 |
15 | # Sample block 3
16 | for i in range(5):
17 | print(i)
18 |
19 | print(i)
20 | print(i)
21 |
22 | print(i)
23 |
24 | print('complete')
25 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample2_normalized.py:
--------------------------------------------------------------------------------
1 | def add(x, y):
2 | """Adds x to y"""
3 | # Some comment
4 | return x + y
5 |
6 | v = add(1, 7)
7 | print(v)
8 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample2_raw.py:
--------------------------------------------------------------------------------
1 | def add(x, y):
2 | """Adds x to y"""
3 | # Some comment
4 |
5 | return x + y
6 |
7 | v = add(1, 7)
8 | print(v)
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample3_normalized.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 | print(2)
4 |
5 | print(3)
6 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample3_raw.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 |
4 | print(2)
5 |
6 | print(3)
7 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample4_normalized.py:
--------------------------------------------------------------------------------
1 | class pc(object):
2 | def __init__(self, pcname, model):
3 | self.pcname = pcname
4 | self.model = model
5 | def print_name(self):
6 | print('Workstation name is', self.pcname, 'model is', self.model)
7 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample4_raw.py:
--------------------------------------------------------------------------------
1 | class pc(object):
2 | def __init__(self, pcname, model):
3 | self.pcname = pcname
4 | self.model = model
5 |
6 | def print_name(self):
7 | print('Workstation name is', self.pcname, 'model is', self.model)
8 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample5_normalized.py:
--------------------------------------------------------------------------------
1 | for i in range(10):
2 | print('a')
3 | for j in range(5):
4 | print('b')
5 | print('b2')
6 | for k in range(2):
7 | print('c')
8 | print('done with first loop')
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample5_raw.py:
--------------------------------------------------------------------------------
1 | for i in range(10):
2 | print('a')
3 | for j in range(5):
4 | print('b')
5 |
6 | print('b2')
7 |
8 | for k in range(2):
9 | print('c')
10 |
11 | print('done with first loop')
12 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample6_normalized.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 | else: print(2)
4 |
5 | print('🔨')
6 | print(3)
7 | print(3)
8 |
9 | if True:
10 | print(1)
11 | else: print(2)
12 |
13 | if True:
14 | print(1)
15 | else: print(2)
16 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample6_raw.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 | else: print(2)
4 | print('🔨')
5 | print(3)
6 | print(3)
7 | if True:
8 | print(1)
9 | else: print(2)
10 | if True:
11 | print(1)
12 | else: print(2)
13 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample7_normalized.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 | print(1)
4 | else:
5 | print(2)
6 | print(2)
7 |
8 | print(3)
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample7_raw.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 |
4 | print(1)
5 | else:
6 | print(2)
7 |
8 | print(2)
9 | print(3)
10 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample8_normalized.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 | print(1)
4 | else:
5 | print(2)
6 | print(2)
7 |
8 | print(3)
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample8_raw.py:
--------------------------------------------------------------------------------
1 | if True:
2 | print(1)
3 |
4 | print(1)
5 | else:
6 | print(2)
7 |
8 | print(2)
9 | print(3)
10 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample_normalized.py:
--------------------------------------------------------------------------------
1 | import sys
2 | print(sys.executable)
3 | print("1234")
4 | print(1)
5 | print(2)
6 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/terminalExec/sample_raw.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 | print(sys.executable)
4 |
5 | print("1234")
6 |
7 | print(1)
8 | print(2)
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/counter/tests/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/cwd/src/tests/test_cwd.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_Current_Working_Directory(unittest.TestCase):
7 | def test_cwd(self):
8 | testDir = os.path.join(os.getcwd(), 'test')
9 | testFileDir = os.path.dirname(os.path.abspath(__file__))
10 | self.assertEqual(testDir, testFileDir, 'Not equal' + testDir + testFileDir)
11 |
12 |
13 | if __name__ == '__main__':
14 | unittest.main()
15 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/debuggerTest/tests/test_debugger_one.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_one_1(unittest.TestCase):
4 | def test_1_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | if __name__ == '__main__':
8 | unittest.main()
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/debuggerTest/tests/test_debugger_two.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_two_2(unittest.TestCase):
4 | def test_2_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | if __name__ == '__main__':
8 | unittest.main()
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/debuggerTest/tests/test_debugger_two.txt:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_two_2(unittest.TestCase):
4 | def test_2_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | if __name__ == '__main__':
8 | unittest.main()
9 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/debuggerTest/tests/test_debugger_two.updated.txt:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_two_2(unittest.TestCase):
4 | def test_2_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | def test_2_1_2(self):
8 | self.assertEqual(1,1,'Not equal')
9 |
10 | def test_2_1_3(self):
11 | self.assertEqual(1,1,'Not equal')
12 |
13 | if __name__ == '__main__':
14 | unittest.main()
15 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/multi/tests/more_tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/testFiles/multi/tests/more_tests/__init__.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/multi/tests/more_tests/test_three.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test3(unittest.TestCase):
7 | def test_3A(self):
8 | self.assertEqual(1, 2-1, "Not implemented")
9 |
10 | def test_3B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_3C(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/multi/tests/test_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/multi/tests/test_two.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test2(unittest.TestCase):
7 | def test_2A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_2B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_2C(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/specific/tst_unittest_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def tst_A(self):
8 | self.fail("Not implemented")
9 |
10 | def tst_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 |
14 | if __name__ == '__main__':
15 | unittest.main()
16 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/specific/tst_unittest_two.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Tst_test2(unittest.TestCase):
4 | def tst_A2(self):
5 | self.fail("Not implemented")
6 |
7 | def tst_B2(self):
8 | self.assertEqual(1,1,'Not equal')
9 |
10 | def tst_C2(self):
11 | self.assertEqual(1,2,'Not equal')
12 |
13 | def tst_D2(self):
14 | raise ArithmeticError()
15 | pass
16 |
17 | if __name__ == '__main__':
18 | unittest.main()
19 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/test_root.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_Root_test1(unittest.TestCase):
7 | def test_Root_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_Root_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_Root_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/tests/test4.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 |
4 | class Test_test3(unittest.TestCase):
5 | def test4A(self):
6 | self.fail("Not implemented")
7 |
8 | def test4B(self):
9 | self.assertEqual(1, 1, 'Not equal')
10 |
11 |
12 | if __name__ == '__main__':
13 | unittest.main()
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/tests/test_unittest_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/noseFiles/tests/unittest_three_test.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 |
4 | class Test_test3(unittest.TestCase):
5 | def test_A(self):
6 | self.fail("Not implemented")
7 |
8 | def test_B(self):
9 | self.assertEqual(1, 1, 'Not equal')
10 |
11 |
12 | if __name__ == '__main__':
13 | unittest.main()
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/pytestFiles/results/five.xml:
--------------------------------------------------------------------------------
1 | self = <test_root.Test_Root_test1 testMethod=test_Root_A>
2 |
3 | def test_Root_A(self):
4 | > self.fail("Not implemented")
5 | E AssertionError: Not implemented
6 |
7 | test_root.py:8: AssertionError
8 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/single/test_root.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_Root_test1(unittest.TestCase):
7 | def test_Root_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_Root_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_Root_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/single/tests/test_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/specificTest/tests/test_unittest_one.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_one_1(unittest.TestCase):
4 | def test_1_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | def test_1_1_2(self):
8 | self.assertEqual(1,2,'Not equal')
9 |
10 | @unittest.skip("demonstrating skipping")
11 | def test_1_1_3(self):
12 | self.assertEqual(1,2,'Not equal')
13 |
14 | class Test_test_one_2(unittest.TestCase):
15 | def test_1_2_1(self):
16 | self.assertEqual(1,1,'Not equal')
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/specificTest/tests/test_unittest_two.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 | class Test_test_two_1(unittest.TestCase):
4 | def test_1_1_1(self):
5 | self.assertEqual(1,1,'Not equal')
6 |
7 | def test_1_1_2(self):
8 | self.assertEqual(1,2,'Not equal')
9 |
10 | @unittest.skip("demonstrating skipping")
11 | def test_1_1_3(self):
12 | self.assertEqual(1,2,'Not equal')
13 |
14 | class Test_test_two_2(unittest.TestCase):
15 | def test_2_1_1(self):
16 | self.assertEqual(1,1,'Not equal')
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/test_root.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_Root_test1(unittest.TestCase):
7 | def test_Root_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_Root_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_Root_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/test/pythonFiles/testFiles/standard/tests/__init__.py
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/external.py:
--------------------------------------------------------------------------------
1 | class ForeignTests:
2 | class TestExtraNestedForeignTests:
3 | def test_super_deep_foreign(self):
4 | assert False
5 | def test_foreign_test(self):
6 | assert False
7 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/test_another_pytest.py:
--------------------------------------------------------------------------------
1 | # content of tests/test_something.py
2 | import pytest
3 | import unittest
4 |
5 | @pytest.fixture
6 | def parametrized_username():
7 | return 'overridden-username'
8 |
9 | @pytest.fixture(params=['one', 'two', 'three'])
10 | def non_parametrized_username(request):
11 | return request.param
12 |
13 | def test_username(parametrized_username):
14 | assert parametrized_username == 'overridden-username'
15 |
16 | def test_parametrized_username(non_parametrized_username):
17 | assert non_parametrized_username in ['one', 'two', 'threes']
18 |
19 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/test_foreign_nested_tests.py:
--------------------------------------------------------------------------------
1 | from .external import ForeignTests
2 |
3 |
4 | class TestNestedForeignTests:
5 | class TestInheritingHere(ForeignTests):
6 | def test_nested_normal(self):
7 | assert True
8 | def test_normal(self):
9 | assert True
10 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/test_unittest_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/standard/tests/unittest_three_test.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 |
4 | class Test_test3(unittest.TestCase):
5 | def test_A(self):
6 | self.fail("Not implemented")
7 |
8 | def test_B(self):
9 | self.assertEqual(1, 1, 'Not equal')
10 |
11 |
12 | if __name__ == '__main__':
13 | unittest.main()
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/other/test_unittest_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/pytest.ini:
--------------------------------------------------------------------------------
1 | # content of pytest.ini
2 | [pytest]
3 | testpaths = other
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/test_root.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_Root_test1(unittest.TestCase):
7 | def test_Root_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_Root_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_Root_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/tests/test_another_pytest.py:
--------------------------------------------------------------------------------
1 | # content of tests/test_something.py
2 | import pytest
3 | import unittest
4 |
5 | @pytest.fixture
6 | def parametrized_username():
7 | return 'overridden-username'
8 |
9 | @pytest.fixture(params=['one', 'two', 'three'])
10 | def non_parametrized_username(request):
11 | return request.param
12 |
13 | def test_username(parametrized_username):
14 | assert parametrized_username == 'overridden-username'
15 |
16 | def test_parametrized_username(non_parametrized_username):
17 | assert non_parametrized_username in ['one', 'two', 'threes']
18 |
19 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/tests/test_unittest_one.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 |
4 | import unittest
5 |
6 | class Test_test1(unittest.TestCase):
7 | def test_A(self):
8 | self.fail("Not implemented")
9 |
10 | def test_B(self):
11 | self.assertEqual(1, 1, 'Not equal')
12 |
13 | @unittest.skip("demonstrating skipping")
14 | def test_c(self):
15 | self.assertEqual(1, 1, 'Not equal')
16 |
17 |
18 | if __name__ == '__main__':
19 | unittest.main()
20 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/testFiles/unittestsWithConfigs/tests/unittest_three_test.py:
--------------------------------------------------------------------------------
1 | import unittest
2 |
3 |
4 | class Test_test3(unittest.TestCase):
5 | def test_A(self):
6 | self.fail("Not implemented")
7 |
8 | def test_B(self):
9 | self.assertEqual(1, 1, 'Not equal')
10 |
11 |
12 | if __name__ == '__main__':
13 | unittest.main()
14 |
--------------------------------------------------------------------------------
/src/test/pythonFiles/typeFormatFiles/elseBlocksFirstLine2.py:
--------------------------------------------------------------------------------
1 | if True == True:
2 | a = 2
3 | b = 3
4 | else:
--------------------------------------------------------------------------------
/src/test/pythonFiles/typeFormatFiles/elseBlocksFirstLine4.py:
--------------------------------------------------------------------------------
1 | if True == True:
2 | a = 2
3 | b = 3
4 | else:
--------------------------------------------------------------------------------
/src/test/pythonFiles/typeFormatFiles/elseBlocksFirstLineTab.py:
--------------------------------------------------------------------------------
1 | if True == True:
2 | a = 2
3 | b = 3
4 | else:
--------------------------------------------------------------------------------
/src/test/workspaceSymbols/common.ts:
--------------------------------------------------------------------------------
1 | import { ConfigurationTarget, Uri, workspace } from 'vscode';
2 | import { PythonSettings } from '../../client/common/configSettings';
3 |
4 | export async function enableDisableWorkspaceSymbols(
5 | resource: Uri,
6 | enabled: boolean,
7 | configTarget: ConfigurationTarget
8 | ) {
9 | const settings = workspace.getConfiguration('python', resource);
10 | await settings.update('workspaceSymbols.enabled', enabled, configTarget);
11 | PythonSettings.dispose();
12 | }
13 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/parent/child/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.enabled": false
3 | }
4 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/parent/child/childFile.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Child2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfChild(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/smokeTests/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode/**
2 | *.log
3 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/smokeTests/testExecInTerminal.py:
--------------------------------------------------------------------------------
1 | import getopt
2 | import sys
3 | import os
4 |
5 | optlist, args = getopt.getopt(sys.argv, '')
6 |
7 | # If the caller has not specified the output file, create one for them with
8 | # the same name as the caller script, but with a .log extension.
9 | log_file = os.path.splitext(sys.argv[0])[0] + '.log'
10 |
11 | # If the output file is given, use that instead.
12 | if len(args) == 2:
13 | log_file = args[1]
14 |
15 | with open(log_file, "a") as f:
16 | f.write(sys.executable)
17 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace1/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.linting.enabled": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace2/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.tagFilePath": "${workspaceFolder}/workspace2.tags.file",
3 | "python.workspaceSymbols.enabled": false
4 | }
5 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace2/workspace2File.py:
--------------------------------------------------------------------------------
1 | """pylint option block-disable"""
2 |
3 | __revision__ = None
4 |
5 | class Workspace2Class(object):
6 | """block-disable test"""
7 |
8 | def __init__(self):
9 | pass
10 |
11 | def meth1OfWorkspace2(self, arg):
12 | """this issues a message"""
13 | print (self)
14 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace3/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.workspaceSymbols.tagFilePath": "${workspaceRoot}/workspace3.tags.file"
3 | }
4 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/.env:
--------------------------------------------------------------------------------
1 | X1234PYEXTUNITTESTVAR=1234
2 | PYTHONPATH=../workspace5
3 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/.env2:
--------------------------------------------------------------------------------
1 | X12345PYEXTUNITTESTVAR=12345
2 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/.env5:
--------------------------------------------------------------------------------
1 | X=1
2 | Y=2
3 | PYTHONPATH=/usr/one/three:/usr/one/four
4 | # Unix PATH variable
5 | PATH=/usr/x:/usr/y
6 | # Windows Path variable
7 | Path=/usr/x:/usr/y
8 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/.env6:
--------------------------------------------------------------------------------
1 | REPO=/home/user/git/foobar
2 | PYTHONPATH=${REPO}/foo:${REPO}/bar
3 | PYTHON=${BINDIR}/python3
4 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace4/one.py:
--------------------------------------------------------------------------------
1 | from hello import world
2 | print(world.sayHello())
3 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/home/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/testMultiRootWkspc/workspace5/djangoApp/home/__init__.py
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/home/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello {{ value_from_server }}!
6 | Hello {{ another_value_from_server }}!
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/home/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import url
2 |
3 | from . import views
4 |
5 | urlpatterns = [
6 | url('', views.index, name='index'),
7 | ]
8 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/home/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 | from django.template import loader
3 |
4 |
5 | def index(request):
6 | context = {
7 | 'value_from_server':'this_is_a_value_from_server',
8 | 'another_value_from_server':'this_is_another_value_from_server'
9 | }
10 | return render(request, 'index.html', context)
11 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/mysite/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/testMultiRootWkspc/workspace5/djangoApp/mysite/__init__.py
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/djangoApp/mysite/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for mysite project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/flaskApp/run.py:
--------------------------------------------------------------------------------
1 | from flask import Flask, render_template
2 | app = Flask(__name__)
3 |
4 |
5 | @app.route('/')
6 | def hello():
7 | return render_template('index.html',
8 | value_from_server='this_is_a_value_from_server',
9 | another_value_from_server='this_is_another_value_from_server')
10 |
11 |
12 | if __name__ == '__main__':
13 | app.run()
14 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/flaskApp/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello {{ value_from_server }}!
6 | Hello {{ another_value_from_server }}!
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/hello/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/testMultiRootWkspc/workspace5/hello/__init__.py
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/hello/world.py:
--------------------------------------------------------------------------------
1 | def sayHello():
2 | return "Hello"
3 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/mymod/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/techwithtim/vscode-python/44fd2d8ce6275cd6b9286257979451b3f207f194/src/testMultiRootWkspc/workspace5/mymod/__init__.py
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/mymod/__main__.py:
--------------------------------------------------------------------------------
1 | print("Hello world!")
2 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/remoteDebugger-start-with-nowait.py:
--------------------------------------------------------------------------------
1 | print('hello world')
2 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/remoteDebugger-start.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import time
3 |
4 | def main():
5 | sys.stdout.write('this is stdout')
6 | sys.stdout.flush()
7 | sys.stderr.write('this is stderr')
8 | sys.stderr.flush()
9 | # Give the debugger some time to add a breakpoint.
10 | time.sleep(5)
11 | for i in range(1):
12 | time.sleep(0.5)
13 | pass
14 |
15 | print('this is print')
16 |
17 | main()
18 |
--------------------------------------------------------------------------------
/src/testMultiRootWkspc/workspace5/remoteDebugger.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import ptvsd
3 | import time
4 |
5 | sys.stdout.write('start')
6 | sys.stdout.flush()
7 | address = ('127.0.0.1', int(sys.argv[1]))
8 | ptvsd.enable_attach('super_secret', address)
9 | ptvsd.wait_for_attach()
10 |
11 | sys.stdout.write('attached')
12 | sys.stdout.flush()
13 | # Give the debugger some time to add a breakpoint.
14 | time.sleep(2)
15 |
16 | sys.stdout.write('end')
17 | sys.stdout.flush()
18 |
--------------------------------------------------------------------------------
/types/@nteract/transform-dataresource.d.ts:
--------------------------------------------------------------------------------
1 | declare module '@nteract/transform-dataresource' {
2 | export = index;
3 | const index: any;
4 | }
5 |
--------------------------------------------------------------------------------
/types/@nteract/transform-geojson.d.ts:
--------------------------------------------------------------------------------
1 | declare module '@nteract/transform-geojson' {
2 | export = index;
3 | const index: any;
4 | }
5 |
--------------------------------------------------------------------------------
/types/@nteract/transform-model-debug.d.ts:
--------------------------------------------------------------------------------
1 | declare module '@nteract/transform-model-debug' {
2 | export default class _default {
3 | static MIMETYPE: string;
4 | constructor(...args: any[]);
5 | forceUpdate(callback: any): void;
6 | render(): any;
7 | setState(partialState: any, callback: any): void;
8 | shouldComponentUpdate(): any;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/types/@nteract/transform-vsdom.d.ts:
--------------------------------------------------------------------------------
1 | declare module '@nteract/transform-vdom' {
2 | export class VDOM {
3 | static MIMETYPE: string;
4 | constructor(...args: any[]);
5 | componentDidMount(): void;
6 | componentDidUpdate(): void;
7 | forceUpdate(callback: any): void;
8 | render(): any;
9 | setState(partialState: any, callback: any): void;
10 | shouldComponentUpdate(nextProps: any): any;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/types/ansi-to-html.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'ansi-to-html' {
2 | export = ansiToHtml;
3 | class ansiToHtml {
4 | constructor(options?: any);
5 | opts: any;
6 | stack: any;
7 | stickyStack: any;
8 | toHtml(input: any): any;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------