Есть ли какие-либо причины, почему разработчик C# должен изучить Emacs/Vim?

Вы можете получить нужный тип, используя сопоставленные типы. Вы можете получить дополнительные и требуемые ключи от типа, как описано здесь

type OptionalKeys = { [K in keyof T]-?:
  ({} extends { [P in K]: T[K] } ? K : never)
}[keyof T]

type RequiredKeys = { [K in keyof T]-?:
  ({} extends { [P in K]: T[K] } ? never : K)
}[keyof T]

type Id = { [P in keyof T]: T[P]}
type OptionalToUndefined = Id<{
  [K in OptionalKeys]-?: T[K] | undefined  
} & { 
  [K in RequiredKeys]-?: T[K] 
}>
//  { y: number | undefined; x: boolean; }
type Foo = OptionalToUndefined<{ x: boolean; y?: number }> 

25
задан Community 23 May 2017 в 12:09
поделиться

16 ответов

Я работаю в 90%-м магазине Microsoft, но я все еще использую gvim каждый день. У меня есть vi плагины для каждого IDE, с которым я работаю. Я рекомендовал бы энергию, если Вы собираетесь учиться один или другой, но я знаю, что emacs пользователи будут категорически не согласны.

emacs и vi были вокруг в течение долгого времени и оба очень мощны. Изучение одного из них могло бы открыть Ваши глаза для более эффективного мира кодирования.

17
ответ дан Andy White 28 November 2019 в 18:13
поделиться

смотрите на мирового судью Boodhoo и что он делает www.jpboodhoo.com . Он и Kyle Bailey вели блог недавно об использовании VIM как часть их опыта разработки с VS2008.

0
ответ дан Chris Conway 28 November 2019 в 18:13
поделиться

Изучение того будет абсолютно стоить того. Я лично рекомендовал бы emacs, но я смещаюсь. Я на 99% уверен, что emacs может быть установкой к .NET devlopment бэкенд (наклон думают о правильных словах извините).

1
ответ дан 28 November 2019 в 18:13
поделиться

Я был профессиональным программистом C/C++ в течение 16 лет. 5 лет назад я взял некоторый язык Common LISP и закончил тем, что изучил elisp/emacs также. Я также балуюсь Haskell. Я нашел эти события в широком масштабе полезными в программировании C++. Если ничто иное, что Вы получаете для наблюдения будущего как C++ медленно, не становится более выразительным путем принятия вещей, которые CL имел в течение многих десятилетий.

Изучение emacs является долгим медленным процессом, который начинает окупаться, как только Вы полностью бегло говорите на его функциях, способ сделать вещи и elisp. Я использую Visual Studio для большой моей разработки, но часто я переключаюсь на emacs для использования в своих интересах быстрого, чтобы использовать ключевые макросы или сделать некоторую сложную обработку на таблице значений. Партия материала, который можно поднять действительно быстро в elisp, который занял бы несколько часов волос, рвущихся с плагинами Visual Studio.

2
ответ дан justinhj 28 November 2019 в 18:13
поделиться

Освоение хорошего редактора всегда стоимостью в как разработчик, которого Вы проводите много времени, вводя простой текст, пишущий программам, XML, HTML, можно сохранить очень из того времени при помощи хорошего редактора и использования его эффективно.

я начал изучать Vi как девять лет назад, и теперь я не могу жить без него.

Безотносительно, какого редактора Вы выбираете, я думаю, что почти Вы будете в состоянии найти, что плагины имеют входную модель Вашего предпочтительного редактора, во всем главном IDE, для Visual Studio, которую можно использовать ViEmu или Привязки клавиш Emacs

2
ответ дан CMS 28 November 2019 в 18:13
поделиться

Я раньше использовал VIM почти исключительно, и после перемещения почти в 100%-й магазин мс, не нашел проблем, переключающихся назад и вперед.

VIM и EMACS являются большими, если Вы готовы изучить сочетания клавиш. Я нахожу, что у меня действительно нет проблем, когда я возвращаюсь и передаю - я думаю, что помогает, что они - такая совершенно другая среда, чем VS, что легко сделать умственный переключатель.

можно всегда запускать медленный - используют их и видят, как это идет. У Вас будет некоторая кривая обучения, но она очень ваше дело.

, Если Scite работает на Вас, и Вы просто "играете вокруг" как хобби, это не может стоить усилия. Для меня усилие по изучению новых и различных способов работать/думать является частью забавы, все же.

3
ответ дан Reed Copsey 28 November 2019 в 18:13
поделиться

Я также работаю на Microsoft только магазин, но, дома, я только использую Linux. Достаточно сказать, что я использую Vim исключительно для редактирования дома. На работе я использую Visual Studio для всей разработки, но я использую Vim для многих задач, которые требуют сложного текстового управления. Даже если бы я не использовал Vim дома, то для меня для того, все еще было бы невероятно полезно, что я делаю на работе. Наш парень IT думает, что я - своего рода фокусник, когда он видит, что я делаю свою акробатику Vim. Это получено для ценности чего-то, правильно?;)

4
ответ дан Jeremy Cantrell 28 November 2019 в 18:13
поделиться

Начните войну пламени:)

я - наркоман VIM и не стыдящийся допустить его. Я нахожу, что использование VIM делает меня значительно более продуктивным в моей повседневной жизни. Кодирование намного быстрее, когда Вы не должны убирать руки клавиатуры.

VS по умолчанию имеет плохую поддержку привязки VIM. Однако существует дешевое доступное дополнение ( ViEmu), который обеспечивает превосходный привязки клавиш VIM для Visual Studio. У меня есть персональная лицензия, и я полагаю, что это стоило каждого пенса.

, Что быть сказанным там круто кривая обучения, связанная с VIM. Это будет во всей вероятности уничтожать Вашу производительность в течение недели или два. После этого, хотя, преимущества начнут прибывать, и необходимо заметить повышение производительных сил.

25
ответ дан JaredPar 28 November 2019 в 18:13
поделиться

JaredPar упомянул ViEmu, о котором я услышал действительно хорошие вещи. Но если Вы действительно задаетесь вопросом, каковы преимущества переключения были бы, существует хорошая статья, размещенная на сайте ViEmu: Да ведь о, ДА ВЕДЬ делают те #?! nutheads используют vi?

Лично я чувствую, что использование gvim было огромным повышением моей производительности, и я определенно предпочитаю его редактору Visual Studio или SlickEdit или любым из других, я использовал. Но, как упомянуто в более ранних ответах, Vim может быть крутой кривой обучения. Существуют люди, которые использовали его профессионально в течение 5-10 лет и все еще изучают вещи о нем. Vim может много быть похожим на жемчуг... существует много способов сделать любой ряд редактирований, и он может требовать времени для изучения лучшего.

1
ответ дан Dan Olson 28 November 2019 в 18:13
поделиться

Если Вы используете Vim с VS или думаете об этом, необходимо знать о Vim проект Intellisense: http://insenvim.sourceforge.net/

0
ответ дан Herbert Sitz 28 November 2019 в 18:13
поделиться

Я - также долгое время разработчик C#. При разработке C++ в Linux я использую Eclipse CDT, потому что это - самая близкая вещь, которую я нашел к Visual Studio.

Будучи вполне испытанным с энергией, я использую его для редактирования файлов конфигурации Linux и такого, но я особенно не привлечен к нему для разработки, когда я мог просто использовать IDE.

Между прочим, при использовании энергии можно хотеть включить номера строки и подсветку синтаксиса; я всегда добавляю эти строки к своему ~/.vimrc файл:

number on
set syntax
0
ответ дан Nick Bolton 28 November 2019 в 18:13
поделиться

Необходимо изучить, по крайней мере, как сохранить (:w) и файлам редактирования (волшебство) в VIM - даже минимальные установки ОС включали его. Тот путь, если Вы скручиваетесь на пустом поле Unix, можно, по крайней мере, отредактировать файлы.

Иначе naw - я не покупаю шумиху. У Вас есть важная персона для жарки и nano улучшение все время. Heck, нано имеет некоторую окраску синтаксиса и автодобавление отступа, и это даже работает с мышью по PuTTY.

Лучшая вещь учиться состоит в том, как настроить Samba на Вашем поле Unix и затем использовать реальный текстовый редактор на Вашем поле Windows как UltraEdit (выдайте flamewar). Я использую эту конфигурацию для редактирования чего-либо большего, чем файл конфигурации в / и т.д.

0
ответ дан Cory R. King 28 November 2019 в 18:13
поделиться

По моему скромному мнению, нет. я использую высшую точку по энергии. gedit или vs2008 на работе.

2
ответ дан plan9assembler 28 November 2019 в 18:13
поделиться

Я использую emacs и Visual Studio вместе и переносил бы трудности без emacs. VS необходим, конечно, но он не поставляет редактирование текста, которое делает emacs. Emacs является областью редактирования 98,4% для меня. Visual Studio имеет 12 различных панелей, каждого из них важный, но иногда я просто хочу посмотреть на код. Emacs позволяет мне сделать это. И я могу разделить экраны и видеть 4 окна редактирования на одном экране, даже в том же файле. С парными мониторами у меня могут быть emacs окна на каждом. Это звучит идиотским, но мне очень полезно, когда я работаю над различными частями кода одновременно (скажем, интерфейсное определение и реализация, одновременно). regex поиск-и-замена.

Я имею, автовозвращаются режим, включенный в emacs, который является аналогом к функции VS, которая говорит "файл, измененный за пределами Visual Studio, Вы хотите перезагрузить его?" Кроме emacs это всегда тихо перезагружает, который является способом, которым я хочу это. Таким образом, я возвращаюсь от VS до emacs и назад, и никогда нет проблемы с незаконченными изменениями в исходном коде, которые не обнаружились в другом редакторе. VS имеет "полноэкранную" возможность, но я не нашел что быть столь же гибким или полезным как emacs.

Я не могу предположить не иметь возможности этой комбинации инструментов. Одна только Visual Studio просто не предлагает это. Один только Emacs не был бы достаточен. Я все еще использую emacs для основных отрывков и маленьких тестовых программ. Я использую VS для руководящих проектов, TFS, тестируя и отлаживая.

Мое использование emacs не является выбором в этой точке. Я взял его давным-давно в предыдущей компании, где emacs был стандартным инструментом, таким образом, это не должно было... говорить "легкий", но это было автоматически. Я не могу предположить изучать emacs "самостоятельно". Я изучил вещи осмотически, только от сообщества других emacs пользователей вокруг меня. От людей в прихожей я получил и настроил набор кода elisp для моей установки. Выполнение его с книгой... Я не могу вообразить.

Что касается создания Вас менее продуктивный из-за беспорядка пальца... У меня не было проблемы.

4
ответ дан Cheeso 28 November 2019 в 18:13
поделиться

Скорость кодирования очень сильно зависит от выбора редактора, поэтому это одно из самых важных заблуждений возьмешь.

0
ответ дан 28 November 2019 в 18:13
поделиться

Я был хардкорным пользователем VIM и также разработал intellisense для C # ( http://insenvim.sourceforge.net/) .. но с последними изменениями языка я не могу избежать использования Visual Studio. Но много раз оглядываюсь назад с использованием VIM по причинам простоты. Visual Studio занимает много памяти, а время запуска очень велико. Даже чтобы прочитать файл или сделать простые вещи, требуется немало минут. Но с ним так легко открыть файл и перемещаться. Я мог бы портировать VIM intellisense на C # 3.0.

4
ответ дан 28 November 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: