(잡담) 지금까지 써본 닷넷 개발도구들...

근 5년간 닷넷 개발을 해오면서, 몇몇 닷넷 개발에 사용했던 IDE/코드에디터들에 대한 개인적인 평가(?)에 대해
글을 써봅니다.


Monodeveloper

닷넷을 처음 접하게된 계기는 유니티 개발이고, Rider for unity가 본격적으로 나오기전까지 사용했었습니다.
유니티의 기본 개발도구가 Monodeveloper여서 사용해보았습니다.
UI는 vs보다는 vs code에 가까웠고, 기능이 정말 기본만 있는 수준이라서
”유니티 개발엔, 필요한 만큼만 있다” 정도의 느낌이였네요.


Visual Studio 2015 / 2017 + Resharper

닷넷개발에서 가장 메이저하고 중요한 비주얼스튜디오입니다.

가장 기능이 많고, 레퍼런스도 많으며 완성도 또한 굉장합니다.

특히 클라우드 플랫폼을 Azure로 사용한다면, 굉장히 호환성도 좋고 재미있는 기능도 많이 제공해줍니다.

대신 용량도 크고, 무거운편이고, 당시엔 32비트여서
메모리 활용이 그닥 좋지는 않았습니다. (지금은 64비트 지원으로 쾌적하더군요)
젯브레인의 리샤퍼를 사용하면 완전체(?)가 되는데, 이 리샤퍼가 굉장히 무거웠죠…


Visual Studio for mac

가장 사용성이 별로였던것으로 기억하네요.
20년도즈음 회사에서 맥북을 지급해서 사용했었습니다.

사실 이름만 비주얼 스튜디오를 붙이고 있지만, 위에 적었던 Monodeveloper에 가까운 물건이였고
실제로도 기반였습니다.

단순 실행, 디버깅, 등등 기본적인 기능만은 쓸만했는데

내장 Git프로그램이 굉장히 불편하고 무거웠습니다.

커밋이 많아지면, 내역 불러올때 굉장히 무거워지던게 기억나네요.

이젠 지원도 끊겨서 다시 볼일은 없을 것 같습니다.


Rider

vs for mac을 도저히 계속 못쓰겠고, 애플 실리콘 버전이 나오자마자 바로 갈아탔습니다.

비주얼스튜디오만큼안 아니더라도, 주로 개발하는 닷넷웹앱 개발에는 부족함이 없다고 생각합니다.

(사실상 리샤퍼가 따라오는게 큰 장점!)

자바 기반이라 엄청 가볍다고는 못하지만, 그래도 제일 쾌적한 것 같습니다.

한가지 불편사항으로 예전에 mac os버그로 jvm메모리 (Sigkill) 관련 버그소동때 영향을 받았던 정도..?


최근엔 Visual Studio code도 눈길이 가는데, 이쪽은 아직 C# 개발툴 평이 좋진 않더군요

이상, 두서없이 개인적인 닷넷 개발도구에 대한 소감들이였습니다.

10개의 좋아요

TL;DR - AI 기반 코드 에디터가 급성장하면서 닷넷 개발자들의 코드류 에디터에 대한 선택권이 심각하게 침해받고 있는 상황이지만, .NET 10의 FBA (FIle-based App) 기능 덕분에 약간은 숨통이 트인 상황입니다.


VSCode (+ Code OSS 기반 모든 에디터들)의 경우, 개인적으로는 닷넷 개발자들에게 있어 매우 불합리한 지형을 형성하고 있다고 생각합니다.

익스텐션 체계가 일단 복잡한데, VS Code 자체는 C#에 대한 인지 기능이 없기 때문에 이를 보완하기 위해 언어 서버 (Language Server)가 있어야 합니다. C# 언어에 국한하여 Roslyn 기반의 OmniSharp 서버를 VS Code 익스텐션으로 패키징한 것이 마켓플레이스에서 찾아볼 수 있고, 이것이 일단 MIT 라이선스로 공개되는 오픈소스입니다. 그런데 이 익스텐션은 Microsoft가 본인들 마켓플레이스 외에는 (의도적으로) 전혀 게시하고 있지 않습니다.

그런데 언어 서버만으로는 불충분한 것이, sln(x), csproj 파일에 대한 지원이 빠져 있어 사용하기 불편합니다. 이를 해소하면서 VS for mac의 단종 명분으로 들여온 것이 C# Dev Kit입니다. C# Dev Kit을 설치하면 솔루션 탐색기 패널이 VS Code 에디터에 뜨게 됩니다. 그런데 C# Dev Kit은 오픈 소스 제품이 아닐 뿐더러, 놀랍게도 완성도에 비해 높은 사용료를 요구합니다. (여기서의 사용료란, 개인/학습 목적으로는 무료로 쓸 수 있으나 상업 목적으로 사용하는 경우 Visual Studio Community Editon 이상의 라이선스를 그대로 요구하기 때문입니다.)

그나마 다행스러운 점은, .NET 10에 들어오면서부터 FBA (file-based app) 개념이 추가되어 C# 언어 서버 지원 만으로도 “적당한 DX 경험”이 구현된다는 점입니다. 그러나 앞서 이야기한대로 VS Code Marketpalce 이외의 스토어 (OpenVSX)에는 Microsoft가 C# 익스텐션을 게시하고 있지 않아, 개인적으로 이를 자동으로 퍼블리싱하는 Github 리포지터리를 따로 운영하면서 자동 퍼블리싱을 하고 있습니다.

(덧. 이 과정을 이야기하면서 안할 수 없는 또 다른 불편한 진실로, Microsoft가 빌드한 VS Code만이 오로지 VS Code Marketplace에 액세스하고 그 안의 VSIX 패키지를 다운로드하고 설치할 수 있다는 독점 조항이 있습니다. 그래서 VS Code OSS 본판을 포함하여 모든 파생 코드 에디터들은 기술적으로 VS Code Marketplace의 VSIX를 사용할 수는 있어도, 법적으로는 라이선스 위반이 되므로 예외없이 모두 Eclipse 재단의 OpenVSX 마켓플레이스에 의존하는 형국입니다.)

6개의 좋아요

저는 전 회사에서 Visual Studio 2022만 썼는데 언리얼 띄울때 빼고는.. 몇개씩 띄워도 잘 돌아가고 인텔리센스 너무 훌륭하고 잘 사용하였습니다. 애초에 개발 환경 세팅 자체가 vs로 맞춰져 있었네요. 지금은 닷넷을 다시 못 손대고 있지만 맥에서 Cursor로 바이브 코딩으로 Redis 랑 DB 연결까지는 해봤는데 문제는 F12랑 syntax highlighting 이 뭔가 잘 안 되서 더 파 봐야 할 것 같습니다. 커서 나오기 전에는 vscode로는 닷넷 개발은 못해봤네요 (JSON 고치기용)

대략적으로 2005년 무렵 Visual Studio 6.0 + Visual Assist, Visual Studio 2005 사용했던것 같습니다.

비슷한 시기에 Java와 Eclipse 써보고, Visual Studio 좀 많이 뒤쳐졌네 라는 생각이 들어, Eclipse를 많이 사용했고…
이후엔 Eclipse 또는 Visual Studio 2008, 2010, 2013 정도를 거친것 같습니다.

Visual Studio 2010 버전부터는 Visual Assist를 안 쓴것 습니다. 그만큼 툴 완성도가 많이 올라 왔다고 봅니다.
Eclipse를 계속 사용한 이유는 Java 때문이라기 보다는 마이크로스프트이외에 대부분 임베디드 관련 회사에서 IDE를 제공한다면, Eclipse 기반 이었으며…
툴 기능이 Visual Studio에 비해 밀린다는 느낌이 들었지만, 대안이 없었기에 계속 사용 했었습니다.

그러다가 Visual Studio 2017버전 이후부터는 패스 설정 잡아서 최소한 코드 에디팅은 Visual Studio에서 하고, 빌드만 Eclipse 기반 IDE 또는 커맨드 라인으로 했습니다.
최근에 임베디드 회사에서 Eclipse Theia 기반으로 IDE를 내 놓는 추세인데… 하드웨어와 관련 있어서 그런지 다들 새 툴을 안 쓰고 이전 버전을 쓰려고 하네요.
이제… 구 Eclipse는 요즘 나오는 개발 툴에 비하면 정말 못 쓸 수준인데도 말이죠.

VS Code는 소스코드 볼 때 주로 쓰고… 실제 개발 시에는 잘 안 씁니다. 간단한 Python 코드 만들 때 정도.

위 내용은 C/C++ 기준이고, C#은 Visual Studio 외에는 특별히 사용해본 경험이 없네요.

1개의 좋아요