Я обычно открываю много файлов на вкладках с vim -p
. Действительно ли возможно проверить, был ли какой-либо из файлов изменен за пределами Vim начиная с запущенного редактирования?
Добавьте эти строки в свой .vimrc
:
au FocusGained,BufEnter * :silent! checktime
au FocusLost,WinLeave * :silent! w
В основном проверьте и перезагрузите (или удалите) внешние изменения, когда Vim или текущий буфер получает фокус, и, опционально, автосохранение при выходе из фокуса.
Источник: Vim Wiki .
vim обычно автоматически предупреждает меня, если обнаруживает внешнее изменение файла; однако при просмотре документации кажется, что вы можете вызвать эту проверку вручную с помощью : checktime
К сожалению, я не знаю, как отключить эту вышеупомянутую автоматическую проверку, чтобы проверить и посмотреть, правильно ли работает checktime, поэтому это ответ может быть совершенно неверным.
Поскольку в ошибке упоминается проблема с именем веб-метода, я подозреваю, что это полностью связано с проблемами в том, как WSDL генерируется и сопоставляется с веб-службой. Я вижу две потенциальные проблемы:
ID
является ужасно распространенным именем и может быть зарезервирован или может вызвать конфликты. Попробуйте переименовать его в objectId
(заглавные имена параметров в любом случае не являются нормой для .NET) List < CustomObject >
или CustomObject []
, может конфликтовать с именем параметра CustomObjectList
. Попробуйте переименовать второй параметр customObjects
. Или, возможно, здесь есть какие-то другие глупые рамочные проблемы. В любом случае следует добавить в вопрос WSDL, созданный .NET. Можно получить XML-файл WSDL, загрузив файл/manageobjects.asmx? WSDL с веб-сервера.
-121--4435093- Переопределение конкретных методов ComponentAdapter
является удобной альтернативой реализации всех методов ComponentListener
.
Для получения дополнительной информации используйте : edit
: help: edit
.
При размещении службы WCF в качестве службы Windows вы больше не полагаетесь на IIS. Единственная общая часть, я полагаю, это стек протоколов HTTP.SYS. Я бы предложил вам активировать вход в файл конфигурации службы, который даст вам обширную информацию:
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "WcfDetailTrace.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
, а затем использовать SvcTrireViewer.exe для анализа полученных данных журнала.
-121--1948937-То, что вы делаете, правильно, и присутствуют нулевые значения.
>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]
-121--1948939- Можно узнать, изменяется ли буфер в активном окне, выполнив команду:
:set mod?
Если он возвращает nomodified
, то содержимое буфера совпадает с содержимым соответствующего файла. Если возвращается modified
, то буфер имеет несохраненные изменения.
По умолчанию в строке состояния отображается символ [+]
, если текущий буфер был изменен. Строка состояния обычно отображается только при наличии разделенных окон. Если вы хотите показать строку состояния, даже если у вас есть только одно окно, выполните:
:set laststatus=2
Есть хорошая статья о Настройка строки состояния на Vim Recipes.
let s:pid=system("ps -p $$ -o ppid=")+0
if !exists('g:watches')
let g:watches={}
else
finish
endif
function! ModWatch(fname, match)
let fname=fnamemodify(a:fname, ':p')
if has_key(g:watches, fname)
return
endif
let shellscript=
\"while true ; do".
\" inotifywait ".shellescape(fname)." ; ".
\" kill -WINCH ".s:pid." ; ".
\"done"
echo shellscript
echo shellescape(shellscript)
let pid=system("sh -c ".shellescape(shellscript)." &>/dev/null & echo $!")+0
call extend(g:watches, { fname : pid })
augroup ModWatch
execute "autocmd! BufWipeOut ".a:match
execute "autocmd BufWipeOut ".a:match.' call DeleteWatch("'.
\escape(fname, '\"|').'")'
augroup END
endfunction
function! DeleteWatch(fname)
call system("kill ".g:watches[a:fname])
unlet g:watches[a:fname]
endfunction
augroup ModWatch
autocmd!
autocmd VimResized * checktime
autocmd BufNew * call ModWatch(expand("<afile>"), expand("<amatch>"))
augroup END
Сегодня я наткнулся на интересную находку, связанную с этим вопросом ...
Скрыто в / usr / share / vim / vim71 / vimrc_example .vim
есть эта команда:
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
Она открывает окно, подобное vimdiff
, с текущим буфером и базовым файлом, выделяя все изменения между ними.