Я хотел бы добавить, что если вы получите расширение MoreLinq, теперь есть поддержка как гомогенных, так и гетерогенных левых соединений теперь
http://morelinq.github.io/2.8/ref /api/html/Overload_MoreLinq_MoreEnumerable_LeftJoin.htm
пример:
//Pretend a ClientCompany object and an Employee object both have a ClientCompanyID key on them
return DataContext.ClientCompany
.LeftJoin(DataContext.Employees, //Table being joined
company => company.ClientCompanyID, //First key
employee => employee.ClientCompanyID, //Second Key
company => new {company, employee = (Employee)null}, //Result selector when there isn't a match
(company, employee) => new { company, employee }); //Result selector when there is a match
EDIT:
В ретроспективе это может сработать, но оно преобразует IQueryable для IEnumerable, поскольку morelinq не преобразует запрос в SQL.
Вместо этого вы можете использовать GroupJoin, как описано здесь: https://stackoverflow.com/a/24273804/4251433
Это гарантирует, что он останется как IQueryable, если вам понадобится дальнейшие логические операции над ним позже.
Настройки -> Java -> Редакторы -> Сохранить Действия -> проверить Выполнить выбранные действия при сохранении -> проверить Дополнительные действия -> нажать Настроить .. -> перейти к Код вкладка упорядочивание -> установите флажок Удалите завершающие пробелы -> выберите Все строки .
Настройки -> Java -> Редактор -> Сохранить действия -> проверить " Выполнить выбранные действия при сохранении -> проверить Форматировать исходный код -> выбрать Форматировать отредактированные строки .
Обратите внимание, что это нет необходимости нажимать . Настроить параметры средства форматирования на странице средства форматирования - все стили кода автоматически включают удаление конечных пробелов. По крайней мере, я не смог найти параметр для этого в конфигурации средства форматирования, и он работал вне поле для встроенных Java-соглашений, стилей Eclipse, Eclipse 2.1, а также GoogleStyle .
При использовании этой настройки вам, очевидно, необходимо также отключить решение к части 1 вопроса.
Eclipse version checked: 4.5.2, 4.11
Мне не известно решение второй части вашего вопроса. Причина в том, что неясно, как определить Я изменил . Когда поменяли? Только между двумя сохранениями или между фиксациями ... В основном - забудьте об этом.
Я предполагаю, что вы хотели бы придерживаться некоторых рекомендаций, но не касайтесь остальной части кода. Но руководство следует использовать в целом, а не для укусов и кусочков. Поэтому я предлагаю - изменить весь код на рекомендации: это разовая операция, но убедитесь, что у всех ваших разработчиков есть один и тот же плагин (AnyEdit) с одинаковыми настройками для проекта.
Я бы тоже сказал AnyEdit. Он не предоставляет этих конкретных функций. Однако, если вы и ваша команда используете функции AnyEdit при каждом сохранении, то при открытии файла в нем не должно быть конечных пробелов.
Итак, если вы измените этот файл и добавите новые конечные пробелы, затем во время операции сохранения AnyEdit удалит только эти новые пробелы, так как они являются единственными конечными пробелами в этом файле.
Если по каким-либо причинам вам необходимо оставить конечные пробелы в строках, которые не были изменено вами, то у меня нет ответа для вас, и я не уверен, что такая функция существует в каком-либо плагине Eclipse ...
I assume your questions is with regards to Java code. If that's the case, you don't actually need any extra plugins to accomplish 1). You can just go to Preferences -> Java -> Editor -> Save Actions and configure it to remove trailing whitespace.
By the sounds of it you also want to make this a team-wide setting, right? To make life easier and avoid having to remember setting it up every time you have a new workspace you can set the save action as a project specific preference that gets stored into your SCM along with the code.
In order to do that right-click on your project and go to Properties -> Java Editor -> Save Actions. From there you can enable project specific settings and configure it to remove trailing whitespace (among other useful things).
NB: This option has been removed in Eclipse Kepler (4.3) and following releases.
NB #2: The option seems to be back in Eclipse Luna - Luna Service Release 1a (4.4.1)
Вы можете сопоставить ключ в Eclipse, чтобы вручную удалить конечные пробелы во всем файле, но только по запросу, а не автоматически при сохранении. (Preference / Keys, а затем сопоставление набора ключей с File / Remove Trailing Whitespace) Это может быть полезно, если вы хотите дезинфицировать все новые файлы, но не трогать устаревший код.
Другая стратегия - активировать визуальное отображение пробелов, так что, по крайней мере, вы будете знать, когда добавляете конечный пробел. Насколько мне известно, нет способа отобразить только конечные пробелы, но я буду рад, что ошибся.
Сейчас невозможно сделать это в Eclipse общим способом, но это может быть изменено при наличии базовых знаний Java и некоторого свободного времени для добавления базовой поддержки этого https://bugs.eclipse.org/bugs/show_bug.cgi?id=180349
Зависимый вопрос: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173
PyDev может сделать это с помощью Ctrl + Shift + F , если для параметра форматирования кода установлено значение сделайте это, или во время сохранения :
Eclipse -> Window -> Настройки -> PyDev -> Редактор -> Стиль кода -> Средство форматирования кода :
Я использую по крайней мере эти: