-
Notifications
You must be signed in to change notification settings - Fork 299
Initial creation of the IronPython SDK #1928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
For example An IronPython project should probably look like: <Project Sdk="IronPython.Sdk" ToolsVersion="4.0">
<PropertyGroup>
<!-- Below is the default, but you can also specify "CPython" -->
<PythonInterpreter>IronPython</PythonInterpreter>
<PythonVersion>3.4</PythonVersion>
</PropertyGroup>
</Project> |
Is it intended to work on macOS/Linux too? If it supports the debugger in VSCode it will be awesome! I have noticed many people were struggling with IronPython debugging. On a more practical side, how about placing the SDK in |
I know some Visual Studio engineers as well and I've been wondering about creating a Visual Studio/VS Code extension for using IronPython easily. In VS Code the experience should be the same as with Python, and interacting with IronPython projects should be kept minimal - perhaps via a CLI to make it easiest |
And yes, SDK style projects are supported by the |
Unless I remember wrong, PTVS included this as well. |
Neat. I guess this is meant to be a replacement for the PTVS For my personal use case being able to easily pick interpreters/environments is important. PTVS does something like this to define interpreters: <ItemGroup>
<InterpreterReference Include="Global|IronPython|3.4" />
<InterpreterReference Include="Global|PythonCore|3.9" />
</ItemGroup>
<ItemGroup>
<Interpreter Include="env\">
<Id>env</Id>
<Version>3.4</Version>
<Description>env (IronPython 3.4 (64-bit))</Description>
<InterpreterPath>Scripts\ipy.exe</InterpreterPath>
<WindowsInterpreterPath>Scripts\ipy.exe</WindowsInterpreterPath>
<PathEnvironmentVariable>IRONPYTHONPATH</PathEnvironmentVariable>
<Architecture>X64</Architecture>
</Interpreter>
</ItemGroup> Not saying it's the best thing to do... I like auto-detect that VSCode does to detect interpreters (although it doesn't handle IronPython very well). |
The project extension will still be pyproj (I think this will work, there's no actual way of knowing until the SDK gets published) |
src/sdk/IronPython.Sdk/Sdk/Sdk.props
Outdated
<Import Project="FileIncludes.props" /> | ||
<PropertyGroup> | ||
<!-- Default --> | ||
<InterpreterId>Global|$(PythonInterpreter)|$(PythonVersion)</InterpreterId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this works
This will be ready soon, no idea why the CI is suddenly failing. |
I also want to add proper support for PackageReference. |
Question: will there a plan to continue ironclad3? |
Update your main to the new main tip from the IronPython repo, then rebase your branch (starting from commit a5b0c4f) onto the new main tip. The rebase should proceed without conflicts. |
Yep, just strange that it happened. |
It's because I force-pushed the main branch, apologies. You will need to force-push your rebased branch too. |
@slozier this PR is ready for review |
@@ -70,7 +70,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{EE77D917 | |||
EndProject | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Console32", "src\executables\IronPython.Console32\IronPython.Console32.csproj", "{AD21022F-E7C1-4B74-97C1-0A0E48EFF992}" | |||
EndProject | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Analyzer", "src\roslyn\IronPython.Analyzer\IronPython.Analyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}" | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Analyzer", "src\tooling\IronPython.Analyzer\IronPython.Analyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you're changing the path you also need to update the csproj that are referencing it.
Sorry, I just need to find more than 5 minutes to sit down and properly try it out. |
This is an initial start at creating IronPython.Sdk, which allows you to enjoy the beautiful SDK-style project feature that modern .NET uses.
This SDK is also compatible with non-IronPython projects.