pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как работает Battery Life Extender +?

Лучший ответ: Наиболее стабильное положение химической реакции в Li-Ion аккумуляторах - на 2/3 заряда (67%, 3.7 В). Высокий уровень заряда (100%, 4.2 В), как и низкий (0%, 3.0 В) негативно сказывается на емкости аккумулятора (впрочем, она и так уменьшается со временем). Мой Lenovo Yoga 13 имеет функцию "продления жизни аккума", зарядка останавливается на 66%. Более крутые Thinkpad позволяют регулировать процент остановки заряда вручную.
Также стоит отметить, что при активном использовании ноутбука вне дома, на 67% заряжать не очень выгодно - теряем треть заряда. Именно потому ваша супер-пупер-технология-плюс заряжает на 85%, а не на 67%. 
Смею отметить, что аккумулятор планшета сильно отличается в устройстве от аккумулятора ноутбука. Ноутбук требует более высокие напряжения для работы, потому в нём используется несколько последовательно соединённых аккумуляторных ячеек ("банок"), вследствие чего надёжность аккумулятора уменьшается в разы - часто бывает, что одна из "банок" слишком сильно заряжается (больше 4.2 В) или слишком сильно разряжается (ниже 3.0 В) (при этом напряжение на аккумуляторе вцелом не выходит за рамки допустимого за счет остальных ячеек). В итоге происходит износ только одной банки, а дохнет аккумулятор целиком. Поэтому планшет можно заряжать до 100% и разряжать до 0%, а ноутбук в таком режиме эксплуатации может быстро выйти из строя (вообще, зависит от контроллера аккумулятора - в моём Yoga 13 аккумулятор в порядке после 6 лет службы, тогда как в соседнем ASUS и трёх лет не протянул).
Вопросы, комментарии?

Худший ответ: Но я читал, что для аккумулятора как раз полезно производить полный цикл зарядки до 100%.Совершенно верно. Свинцово кислотные аккумуляторы нужно обязательно заряжать полностью и хранить только заряженными. Перезаряд не полезен, но и вреда не приносит, недозаряд - очень плохо.
А если у вас литий - там немного по другому, полный заряд вреден, перезаряд зачастую  полностью выводит аккумулятор из строя со спецэффектами вроде взрывов и возгораний.
Хранить лучше заряженным на две трети.
Глубокий разряд так же вреден как и для свинцово кислотных.изо дня в день оставляю планшет на ночь и он всегда заряжается до 100%Неправда.
Контроллер ограничивает заряд когда надо, а ноутбуку сообщает что достигнут 100% заряд.
То что вам говорит ноутбук - это уже искаженная и не соответствующая действительности информация.Так как на самом деле это работает?Очень сложно -длительность работы аккумулятора зависит от кучи факторов - насколько хорош контроллер, насколько он правильно настроен, как подобраны банки, при какой температуре эксплуатировался, насколько глубокими были разряды.Мораль сей басни такова  - пользователь не может влиять на продолжительность работы аккумулятора, путем каких то танцев с бубнами и зарядом.  Всем управляет контроллер - и все зависит от него, а не от вас.
Единственное что вы можете реально сделать - постараться не перегревать, не допускать эксплуатации и хранения при высоких температурах.
Вопрос: Какие есть беспалатные аналоги Sketch под windows?

Лучший ответ: Держите программу аналогичная абсолютно* всем Icons8 Lunacy, как sketch, + открывает соответственно файл .sketch всё как нужно иерархия, подпапки, слои, тени, цвета, код и прочее.
Free Sketch for Windows
Native Windows app that works offline and supports .sketch files
https://icons8.com/lunacyС Вас лайк ♥ 

Худший ответ: Бесплатно нету. Закатываем губу.
Вопрос: Как прикрепить к каждой букве алфавита свой цвет?существуют ли такие программы?

Лучший ответ: Можно использовать ASCII-код символа (или его порядковый номер в алфавите) как коэффициент для назначения цвета букве. Например, градация серого в зависимости от порядкового номера буквы: 
А - RGB(255*(position / 26),255*(position / 26),255*(position / 26)) #RGB(0,0,0)) - black
B - RGB(255*(position / 26),255*(position / 26),255*(position / 26)) #RGB(17,17,17)) - dark grey
..
Z- RGB(255*(position / 26),255*(position / 26),255*(position / 26)) #RGB(255,255,255) - white

Худший ответ: Кто сможет сделать такую программу?и какие ценники бывают на это?
Вопрос: Как открыть .sketch с помощью Zeplin.io?

Лучший ответ: Zeplin.io это инструмент для коллаборации дизайнеров и разработчиков. Чтобы просмотреть макет в zeplin, его туда нужно экспортировать из графического редактора в котором этот макет был сделан и после этого макет будет для всех доступен. если вы хотите открыть .sketch, но Sketch у вас нет, можно заюзать эту прогу Lunacy правда она сыровата и не всегда может корректно открывать макет. возможно есть еще проги подобные Lunacy, но мне известна только эта.

Худший ответ: Нахер zeplin, открывай в avocode. Он в отличии от zeplin работает с psd и sketch и еще там с чем...
Вопрос: Куда поступить — Филология (английский язык и литература) или Информатика и вычислительная техника?

Лучший ответ: Трудно ли будет в будущем устроится фронт энд разработчиком с образованием Филолога ?ваш диплом не будет приниматься во внимание
На фронтенд идут после того как хорошо освоят жс и фронтенд фреймворк
Верстка - не фронтенд

Худший ответ: Английский лучше подтянуть самостоятельно (курсы, книги, специальные приложения, учителя, репетиторы), и получить вышку лучше по специальности. Кроме того, что это даёт базу, у Вас будет профильный диплом (тем более - по программированию), который считается, в отличие от непрофильного (который в данным случае простое бездумное убийство времени, денег и сил)
Вопрос: Как сделать onClick в RecyclerView?

Лучший ответ: Делаешь свой интерфейс с методом onClick, прокидываешь его в адаптер, на вьюху ставишь обычный кликлистенер, в нём дергаешь свой.

Худший ответ: Делаешь свой интерфейс с методом onClick, прокидываешь его в адаптер, на вьюху ставишь обычный кликлистенер, в нём дергаешь свой.
Вопрос: Почему не применяет адаптивную верстку на мобильной версии, а на десктопе при сжатии все ок?

Лучший ответ: 7 строка:<meta name="Ведущий Киев Данил Кулинич" content="width=device-width, initial-scale=1" />
Правильней<meta name="viewport" content="...">
¯\_(ツ)_/¯

Худший ответ: Нужно<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
А это вообще что?<meta name="Ведущий Киев Данил Кулинич" content="width=device-width, initial-scale=1" />
Вопрос: Как задать таймаут в JQuery?

Лучший ответ: Или так:$(this).toggleClass('active').delay(3000).removeClass('active')

Худший ответ: $(document).ready(function () {
            $('.box').hover(function () {
                var obj = $(this);
                obj.addClass('active');
                setTimeout(function () {
                    obj.removeClass('active');
                }, 500)

            });
        });
вот получше вариант
codepen.io/Pashted/pen/xRKWyb
Вопрос: Что такое Процесс и Техника в контексте Software Testing?

Лучший ответ: Вопросы из Upwork во многом базируются на ISTQB Foundation системе сертификации по тестированию ПО. В этом случае я бы ответил:
1) Тестирование согласно ISTQB - это в первую очередь процесс. Поэтому правильными вариантами будут Unit testing, Integration Testing, Functional testing. 
2) Техника тестирования. В ISTQB под техниками подразумеваются техники тест-дизайна для эффективного составления тест-кейсов, например, Decision Tables или Boundary Values. Вопрос, конечно не совсем корректен, но если следовать этой логике, скорее всего правильным ответом будет Test Case Development
В целом, рекомендую прочитать материал по ISTQB Foundation Level, без них сложно будет сдать тест на Upwork. Особенно, когда дело коснется вопросов по Whitebox. Мало того, в отличие от многих сертификаций по той же джаве, ISTQB дает реальные знания. Я считаю, что это must have для каждого тестера.

Худший ответ: Из википедии:
1. Проце́сс (лат. processus — «течение», «ход», «продвижение»):
2. Те́хника (от др.-греч. τεχνικός, от τέχνη — искусство, мастерство, умение)
Я бы ответил:
1. Функциональное тестирование, ведь это длительный процесс, включающий в себя много разных техник.
2. Разработка тест-кейсов требует мастерства, именно этим ценятся тестировщики.
Хотя конечно и другие пункты можно притянуть за уши, на то он и тест :))
Вопрос: Как блок поставить справа?

Лучший ответ: если два блока во flex контейнере, то можно использовать.
Данное свойство раскидывает блоки от левого края к правому. 
Если элементов больше 2, то средний элемент встает на равноудаленом  расстоянии от своих товарищей)justify-content: space-between;

Худший ответ: Во flexbox лучше использовать не float, а flex-свойства. Это и логично будет. Для родительского вашего блока примените свойство justify-content: space-between;
А вообще посмотрите хороший мастер-класс от Дмитрия Лаврика про флексбоксы.
Вопрос: Из-за чего может лагать легкая анимация css3 на сайте?

Лучший ответ: Используйте transform: translateX + will-change вместо того, чтобы анимировать свойство left при абсолютном позиционировании.

Худший ответ: У меня ничего не тормозит, даже на IE. А вот градиенты на нем некорректно работают.
Вопрос: Как организовать контроль за клиентами на их хостинге?

Лучший ответ: Как за этим можно следить? 
Зачем за этим следить? Тут по характеру проблемы видно. Нашел проблему - сообщил клиенту по чьей вине.  То что он лазил в код - не гарантия что проблема из-за него.Мы ведем логи в WP, чтобы видеть работу с контентом
А клиенты не против, что Вы так неразумно тратите их ресурсы серверные?

Худший ответ: Как за этим можно следить? 
Зачем за этим следить? Тут по характеру проблемы видно. Нашел проблему - сообщил клиенту по чьей вине.  То что он лазил в код - не гарантия что проблема из-за него.Мы ведем логи в WP, чтобы видеть работу с контентом
А клиенты не против, что Вы так неразумно тратите их ресурсы серверные?
Вопрос: Как можно вывести значение переменной кроме console.log?

Лучший ответ: Конструкция Class не допускает вставки простого кода в тело, только функции, может ты вставляешь console.log() вместо метода класса?class ClassName extends PureComponent{
  constructor(props) {
   super(props)

   this.testMethod = this.testMethod.bind(this);

   console.log('constructor')
  }

  componentDidMount() {
      console.log(123 + 'componentDidMount')

      this.testMethod();
  }

  testMethod() {
      console.log('testMethod')
  }

   render(
     console.log('render до return')
     return <div id='component'>
     {console.log('render')}
     </div>
   )

  // console.log(123); //  вызовет ошибку
}

Худший ответ: напишите без точки с запятой (;)console.log('txt')
Вопрос: Google Tag Manager — как обойти AddBlock?

Лучший ответ: Google Tag Manager is a tag management system created by Google to manage JavaScript and HTML tags used for tracking and analytics on websites (variants of e-marketing tags, sometimes referred to as tracking pixels or web beacons).
Они для вырезания подобного и предназначены.
https://stackoverflow.com/questions/43728822/avoid...

Худший ответ: вопрос риторический.
ничего толком не сделаете, остается только просить (умолять) пользователей отключить adblock, либо делать свой самописный аналогичный инструмент.
Вопрос: Как выйти из кризиса выбора професcии?

Лучший ответ: Придумайте для себя какой-нибудь pet project на технологиях, которые хотите изучить, и реализуйте его. Это будет весомым плюсом на собеседованиях - вы не только теорию знаете, но уже успели и немного шишек набить.

Худший ответ: открывайте все, что найдете по html5, css3, javascript, json, api, node.js, mongodb - книги, видео, уроки - и в свободное время осваивайте новую профессию
если этого не хватит, в чем я очень сомневаюсь, то еще есть php, mysql, wordpress и иже с ними
Вопрос: GPS-трекинг что необходимо для разработки?

Лучший ответ: 1. Выбираешь приёмник gps-сигнала. 
2. Читаешь его спеки. 
3. Согласно им реализуешь приём данных. 
Язык тут особого рояля не играет.

Худший ответ: То, что вы пишете в вопросе, и то, что вы пишете в комментариях, противоречит друг другу.
Одно дело, если вы используете GPS-приемник, встроенный в смартфон. Другое - если речь о самостоятельном приемнике (модуле или навигаторе).
Если речь о разработке под Android, то разработка на C - это поездка из Москвы в Питер через Владивосток. Возможно, но через задницу. Android - это Java. И у Android OS есть собственный API для работы с определением местоположения, включающий работу с GPS-приемником напрямую, но не требующий этого.
Если речь о разработке под что-то еще и работе с самостоятельным приемником, тут совершенно неважно, какой язык (лучше - тот, который вы знаете, но вы, похоже, не особо владеете программированием вообще - HTML и CSS - это не программирование). Совершенствуйте свои общие навыки программирования, читайте про протоколы обмена приемников и трекеров (нативные для конкретных моделей или более-менее универсальные, как NMEA 0183).
Вопрос: Как сделать версионность как на вики?

Лучший ответ: Не работал с бухгалтерскими базами, но для своей базы MySQL хранение истории изменений использую JSON. Есть отдельная таблица history с полями - table_name, table_id и history (JSON) с данными типа массив [], в который добавляются записи формата JSON, за которыми производится наблюдение. На пользовательской таблице висят триггеры на добавление, изменение, удаление. Как только в пользовательской таблице производятся изменения, то триггеры записывают изменения в таблицу history. Это позволяет отслеживать всю историю работы с записью от момента создания, до удаления не вставляя код во всякие процедуры или бизнеслогику, а работая абстрактно только средствами базы.

Худший ответ: Вот так можно сделать для postgresql: https://wiki.postgresql.org/wiki/Audit_trigger
Вопрос: MySQL Select LIKE — где зарыт СКЕЛЕТ ???

Лучший ответ: ///// верно ли сверяю
if($result_mode['vopros'] == "$searchData")
конечно нет, если там будет "привет", а в запросе "прив"
База-то результат найдет, а вы этой проверкой результат выбрасываете в помойку.
PS весь код стоит выбросить в помойку.

Худший ответ: Покажи готовый запрос, без кода.
И не вижу открывающуюся фигурную скобку while.
И точка с запятой в конце запроса лишняя.
Вопрос: Как стримить десктоп со звуком в локальную сеть(Linux)?

Лучший ответ: https://obsproject.com
Как стримить в VLC: https://obsproject.com/forum/resources/obs-studio-...

Худший ответ: Стрим будет на 30+ клиентов.На счёт 30+ клиентов - не могу точно сказать, но демонстрировать рабочий стол так же можно в:
1. TeamViewer (и передавать звук тоже, в режиме конференции в т.ч., мы обычно его используем при проведении закрытых уроков)
2. Skype (в конференции тоже, передачей звука можно что-нибудь придумать)
3. Tox (версия под Windows умеет передавать рабочий стол, под Linux'ом ещё проверить не успел, звук тоже)
4. VNC
5. Есть масса различных расширений для хрома позволяющих демонстрировать экран, возможно среди них Вы что-то найдете для себя
6. Как уже упоминал автор выше - OBS, его прелесть в том, что можно не просто транслировать рабочий стол, но и настроить сцену (или несколько) и в качестве клиента использовать любой современный браузер. В качестве сервера (ре)трансляции можно использовать Nginx. Такой вариант мы обычно используем для проведения публичных трансляций или записи "под ютуб".
Вопрос: Существует ли плагин для Chrome, показывающий, что я уже был на этой странице и подсвечивающий ссылки, ведущие на посещенные страницы?

Лучший ответ: Здравствуйте! Листал ленту в ВК и наткнулся на Ваш вопрос. Я тоже столкнулся с потребностью как-то маркировать посещенные страницы для того чтобы дважды не исследовать какой-нибудь материал. Я написал пару простых open-source (MIT License) расширений для браузера Chromium, которые позволяют мне частично решить эту проблему. Думаю это подходящий случай для того чтобы поделиться ими.Managed Browser History[Chrome Web Store] [GitHub]
Данное расширение добавляет на панель браузера такую иконку: 
При нажатии на неё левой кнопкой мыши (ЛКМ), адрес веб-страницы записывается в локальное хранилище расширения, а иконка меняет цвет на красный: 
Иконка красного цвета является индикатором того, что адрес веб-страницы записан в историю расширения. Таким образом при повторном посещении этой страницы иконка будет красного цвета, что означает, что данная веб-страница уже посещалась / исследовалась / обрабатывалась и т.д.
Для того чтобы просмотреть историю расширения нужно нажать на иконке расширения правой кнопкой мыши (ПКМ) и выбрать пункт Show Saved History..., после чего откроется отдельная веб-страница, где в таблице будут перечислены все сохраненные адреса.
Для того чтобы удалить адрес веб-страницы из истории расширения нужно нажать ПКМ на иконке расширения и выбрать пункт Delete this Page from History. После удаления, при посещении этой веб-страницы иконка расширения снова будет серой.Web Page Notes[Chrome Web Store] [GitHub]
Данное расширение добавляет на панель браузера такую иконку: 
При нажатии на неё ЛКМ, открывается текстовое окно в котором можно написать заметку к веб-странице. По событиям текстового поля keyup/cut/paste производится сохранение заметки в локальное хранилище.
При посещении веб-страницы к которой уже прикреплена заметка, иконка расширения будет иметь следующий вид: 
Можно снова нажать на эту иконку и во всплывающем текстовом поле отредактировать заметку.Защита персональных данных
В обоих расширения все данные хранятся только локально и никуда не отправляются. Для работы с локальным хранилищем (localStorage) используется JavaScript-библиотека web-store. Данные хранятся в локальном хранилище расширения в открытом виде и никак не шифруются.

Худший ответ: А если я ищу что-то на доске объявлений и хочу пометить ссылки на объявления, которые мне не подходят? 
Что бы их заново не посещать и сэкономить время.
Вопрос: Как с помощью bat команд безвозвратно удалить папку с файлами без возможности дальнейшего восстановления?

Лучший ответ: Обычное удаление, даже мимо корзины просто отмечает сектора на устройстве хранения, как доступные для записи. Но когда в эти сектора пройдет запись - вопрос очень интересный.
По хорошему, Вам нужно знать в каких именно секторах была записана информация и после удаления - записать новую информацию в эти сектора. Для этого нужен специализированный софт, простым  батником не обойдешься + я полагаю, что не все драйвера/ОС предоставляют такую возможность.
Советую посмотреть:
https://www.raymond.cc/blog/permanently-delete-and...upd:
Вот здесь есть тулза SDelete, её можно запустить через консоль/bat файл, можете попробовать с ней.
www.makeuseof.com/tag/5-tools-permanently-delete-s...

Худший ответ: а с ssd вообще только вызывать аппаратные инструкции контроллера, если вызов таковых в наличии
Вопрос: Какую цену назвать за адаптивный дизайн (макет psd) без верстки?

Лучший ответ: Прикинуть по времени объем работы и умножить получившиеся часы на вашу ставку в час.
Например, если предполагаете, что работа займет 15 часов чистого времени, а ваша ставка равна 1000 рублей/час, тогда стоимость будет 15 000 рублей. 
Привыкайте оценивать проекты по времени. Со временем оценка будет становиться очень точной.

Худший ответ: Подсчитайте количество блоков/экранов и прикиньте сколько времени у вас займет работа, затем, умножаем на вашу среднюю ставку в час/день. Ср. ставка дизайнера-фрилансера начального уровня 100-200 руб./час.
Вопрос: Veeam или Acronis?

Лучший ответ: С энтерпрайз решениями акрониса не работал. А вот Veeam - по мне, лучшее бэкапное решение, существующее на данный момент (работал с Symantek, сейчас у коллег ComVault - вроде все умеет, но сложноват). С 9.5 бэкапит и физику, все нативно просто, но возможности при этом колосссальные. На лету восстанавливает все подряд на уровне приложений. Для сиквелов реализовано гранулярное восстановление даже для физ. серверов. ИМХО - VEEAM рулит.)
PS Контроллер домена восстанавливал только из копии сделанной родным win backup - особых проблем не было, счетчик рид перевел на позднее значение, да если нужно FSMO роли забрал - будет работать, особых сложностей с этим нет.

Худший ответ: Работал и с тем и с тем, но восстанавливать приходилось только файлы. Без состояния системы.
Лучше послушать того кто контроллер домена смог из резерва развернуть.
Как по мне, функционал одинаков, интерфейсы разные. Формат хранения разный. 
Приемущество Акрониса лично для меня, можно через их же утилиту True Image из tib копии системы в виртуалку переконвертировать. У меня пару раз была нужда.
Вопрос: Лучший vpn сервис по вашему мнению?

Лучший ответ: Собственный. Пусть он будет кривой, косой, но за то, что он не сливает логи ты можешь быть уверен. А за все остальные - нет :)

Худший ответ: Свой собственный со своим CA, сертификатами и логами.
Вопрос: Как исправить ошибку в ajax запросе?

Лучший ответ: Вероятно, это условие в вашем коде никогда не выполняется if(data.success), так как вы не возвращаете из контроллера ничего, кроме формы. Вам нужно при успешном сохранении модели возвращать положительный ответ

Худший ответ: Немного переделал, теперь работает, но кнопка по сути не нужна, при переключении радиобоксов сразу сохраняется значение в базу. Как сделать чтобы сохранялось после нажатия на сабмит? Что исправить?
Теперь работает без js.
View<?php $form = ActiveForm::begin([
    'id' => 'formTest',
    'method' => 'POST',
    'enableAjaxValidation' => true,
    'type' => ActiveForm::TYPE_HORIZONTAL,
    'formConfig' => [
        'showErrors' => true,
        'labelSpan' => 1,
        'deviceSize' => ActiveForm::SIZE_SMALL,
    ]
]);
?>

<?= $form->field($model, 'Name')->radioList($list)->label(false); ?>

<?php ActiveForm::end(); ?>
Controllerpublic function actionMessage($id)
{
    $model = Orders::findOne($id);

    if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {

        if ($model->save()) {
            return $this->renderAjax('message', [
                'model'=>$model,
            ]);
        } else {
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ActiveForm::validate($model);
        }
    }

    return $this->renderAjax('message', [
        'model'=>$model,
    ]);
}
Вопрос: Как превратить google chrome в операционную систему :)?

Лучший ответ: Chrome OS 
Все построено вокруг браузера и есть поддержка x86

Худший ответ: Вообще, есть chrome headless с очень хорошим cli, чем не устраивает?
Вопрос: Кто должен покупать хостинг?

Лучший ответ: Какое отношение вы имеете к хостингу сайта вашего заказчика? Будете в дальнейшем сами его оплачивать? Разумеется, всё должно быть оформлено на владельца домена - не важно, в одном месте или в разных. Вам же меньше геморроя.

Худший ответ: Заказчику безопаснее, если хостинг покупает он. Потому что если заказчик по какой-то причине захочет разорвать отношение с разработчиком/администратором, у него должен сохраниться доступ к сайту.
Разработчик/администратор может влиять на выбор хостера. Если разработчика/админа не устраивает хостер, выбранный заказчиком, он предупреждает о подводных камнях и может отказаться от работы с проектом.
Вопрос: Какую IDE выбрать для С++ под Linux?

Лучший ответ: QtCreator или Visual Studio Code. В первом случае парится не надо с настройкой и установкой и все готово, во втором настроить так как себе нужно.

Худший ответ: Clion для начала вполне годный. Со сложными исходниками и последними стандартами у него беда, конечно. Глючит порядочно, но постоянно что-то фиксят. Был бы бесплатный, ещё ладно. Но платить за это поделие желания нет. Если у вас меньше 4-х ядер и 8-ми гигабайт, можете даже не пробовать, будет жутко бесить тормозами. Хотя, в последних EAP довольно неплохо улучшили отзывчивость в нагрузке. Раньше даже печатать было невозможно, пока он там шуршит.
Есть ещё простенькая IDE — juci++. Но она пока что в активной разработке и очень спартанская, мало чего умеет, но не тупит и очень неплохо автодополняет.
VSCode от майкросовта занудная штука. Вроде, сначала всё работает, а стоит подключить какой-нибудь boost и привет, шаблонную магию не переваривает. Может дополнить пару неймспейсов, а дальше в упор не видит ничего.
QtCreator до сих пор не научился HiDPI. У меня на обоих девайсах dpi достаточно высокий, всё выглядит как пережатый 50 раз jpeg. Может быть, если у вас обычный монитор, то будет нормально.
Если есть желание позамарачиваться, можете освоить vim. Для него есть неплохой плагин YouCompleteMe. Но там всё надо тюнить, крутить 50 тысяч параметров. Но настроив под себя, довольно удобно получается, хотя, мало кто это осиливает.