5 ms·
CSharpRepl: C# REPL with syntax highlighting and intellisense
- nick__m 2y ago[flagged]
- ducdetronquito 2y ago[flagged]
- waldrews 2y agoHow does it compare with LinqPad, polyglot notebooks, csi.exe?
- aragonite 2y agoThe author has some comments on this on GitHub: https://github.com/waf/CSharpRepl?tab=readme-ov-file#comparison-with-other-repls https://github.com/waf/CSharpRepl?tab=readme-ov-file#compari... Even though it's not as feature-rich as linqpad's Dump() method, personally I find the ability to pretty print any object ("detailed view"[1]) by pressing ctrl+enter really convenient. E.g. try typing in new Uri("https://news.ycombinator.com") (without semicolon), then pressing ctrl+enter. [1] https://github.com/waf/CSharpRepl?tab=readme-ov-file#:~:text=will%20show%20a%20%22-,detailed%20view,-%22%20of%20the%20result https://github.com/waf/CSharpRepl?tab=readme-ov-file#:~:text...
- ammo1662 2y agoThere is an alternative of LinqPad. It does not have a lot of features, but it is good enough for testing code snippets. https://github.com/roslynpad/roslynpad https://github.com/roslynpad/roslynpad
- xnorswap 2y agoWhen it comes to C# REPLs I absolutely adore LinqPad, although recently it's felt like I've had to buy licenses for it increasingly often which I've found annoying. If any other REPL can get to a point where it can rival LinqPad in functionality then it'll be an absolute winner. The key features linqpad has that I'd need from any replacement: * Securely store secrets Util.GetPassword prompts the user for the password if it's not in it's store. Leverages the windows user credential store. * Keeps the process running This is absolutely key, it keeps alive the process even after the script has finished, so you can easily attach a debugger / profiler to it when the script isn't running, then start the script again. It also means you can use AppDomain.CurrentDomain.SetData to cache expensive setup if you're trying to profile something. * Quickly switch between expression / statements / program mode It'll intelligently work out if you've written a single expression vs multi-line statements, and you can switch to "program" and it'll wrap what you've done so far in a Main stub. * Easily define default App.Config files, default namespaces, default nuget packages. After finally getting a fiddly setup working, there's a "Use as default for new queries" button which is very convenient. Also the "clone query" functionality is similarly useful for copying not just the C# text but all the background namespace declarations, references, config, etc. And that's about it. I barely use the database connection and exploration side, but I do use it daily for hooking into DLLs to quickly test changes to our internal projects.
- stanac 2y agoRoslynPad support user input with `Console.ReadLine()`, but that's about it. For me personally it does everything I need for scripting C#. For anything more serous I usually create full program and a bat/sh file to execute it in a conveniently.
- hnrodey 2y agoGreat to see LINQPad getting some love. Wish it had a fully functional trial so outsiders can see the real thing before paying. Otherwise, the free version is crippled and boring. Made this video to show LINQPad and getting OAuth tokens from the Spotify api. https://www.youtube.com/watch?v=g2C1SXfTHXI&t=30s https://www.youtube.com/watch?v=g2C1SXfTHXI&t=30s
- pjmlp 2y agoLooks quite nice, specially since VSCode lacks interactive panes.
- classified 2y agoIs it capable of UTF-8? I couldn't for the life of me get the F# REPL to read UTF-8.
- Pathogen-David 2y agoIt doesn't change the output encoding by default, but if you manually set it to UTF8 it works. (IE: Console.OutputEncoding = System.Text.Encoding.UTF8;) That might be all you need to fix the F# REPL too.
- yau8edq12i 2y agoWhat do you mean? With dotnet fsi? I just tried it and it reads UTF8 just fine, at least in windows terminal.
- aragonite 2y agoIf you mean problems having to do with assigning "..."u8 UTF-8 string literals to variables, there's this workaround: https://github.com/waf/CSharpRepl/issues/318#issuecomment-2128573403 https://github.com/waf/CSharpRepl/issues/318#issuecomment-21...
- DeathArrow 2y agoThere's also LinqPad.
- novaleaf 2y agoNetPad for the OSS version. works great. https://github.com/tareqimbasher/NetPad https://github.com/tareqimbasher/NetPad
- dgan 2y agoCan't stop reading it as "shrapnel", especially with "intellisense" just below
- spicyusername 2y agoI just started learning C# while tinkering with Monogame. It's a really nice language to use, I'm quite surprised.
- pjc50 2y agoC# is an absolutely excellent language, and continues to gradually improve. Because I had to check this myself: Monogame is not tied to mono! It claims to support dotnet 8, so it looks suitably current and maintained. It is annoying that Microsoft had their own perfectly adequate game framework which they binned at one of the transitions https://en.wikipedia.org/wiki/Microsoft_XNA https://en.wikipedia.org/wiki/Microsoft_XNA
- ClimaxGravely 2y agomonogame is pretty much the continuation of XNA although they have added more stuff. There is another framework called FNA that I've not used personally but I've heard it tries to match XNA exactly while monogame is a bit more forward looking. So FNA is good for porting forward your older XNA games.
- deleted 2y ago[deleted]
- utensil4778 2y agoC# was my first language so I am biased, but it continues to be my favorite language out of any I've tried.
- doodpants 2y agoAs someone who first learned to program in the early 80's, C# is far from my first language. But it is my favorite as well!
- hoofedear 2y agoC# is really an awesome language, it’s come such a long way. I know it used to be a pain and not very cross-platform friendly, but nowadays it’s a dream. Shoutout to Rider as the best IDE for it lol
- DeathArrow 2y agoI used Basic, Pascal, C++, C, Javascript, Python, Java and C#. C# is my favorite language because is relatively easy to write something without having to write a lot and there's relatively little boiler plate and ceremony. On top of its imperative foundations there were added some functional capabilities that are integrated very well. What is als likeable is there are a ton of learning materials for those who are interested, a ton of libraries and frameworks and the community being helpful. Also, C# can be used in about every domain, web backend, web fronted, desktop, small utilities, games, mobile and even microcontrollers. What I dislike about C# is that every file is also an object and I rather like a less OOP approach. Also, there are features the community asked for years, like algebraic types and even though people working on the language implementation recognized their importance, they still didn't find their way in the language. My favorite update to C# would be if it doesn't force so much object oriented workflow. Even C++ lets you work in a procedural way. Another.NET language I like is F# but I didn't invest much time in it because I don't have where to use it for work.
- Akronymus 2y ago> Another.NET language I like is F# but I didn't invest much time in it because I don't have where to use it for work. F# mostly replaced bash/powershell for me.
- fayten 2y agoI have been dabbling with F# for scripts as well. The F# REPL (FSI) and .fsx files make it really easy to hammer something out and share.