Есть ли способ добавить все имена объектов .NET в мой словарь в MS-Word? Я часто использую их при написании ежедневных заметок о прогрессе или документации, и было бы неплохо, если бы автокоррекция не упрекала меня каждый раз, но фактически помогла мне найти правильное слово, которое я ищу. Я знаю, как добавить одно слово вручную, но это не вариант. Есть ли быстрый / встроенный способ добавить все эти имена или мне нужно редактировать файл программно?
1 ответ
1
Это должно работать из PowerShell:
$net4 = gci "C:\Windows\Microsoft.NET\Framework\v4.0.30319" | Where-Object {$_.Extension -eq ".dll"}
$net4 | ForEach-Object {
$_.name | Out-File "C:\Users\YourUser\AppData\Roaming\Microsoft\UProof\CUSTOM.DIC" -Append
}
Вы можете либо сделать так, чтобы все циклы были безопасными, либо сделать это один раз для каждого каталога .NET.
Также, если вы хотите имя файла без расширения (.dll), используйте $_.Basename
Обновление: запустил скрипт, и он сработал для меня. Я добавил библиотеки таким образом, например, mscorlib.
Я также могу получить методы:
$net4 = gci "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\" -Recurse -Force | Where-Object {$_.Extension -eq ".dll"}
$Methods
$net4 | ForEach-Object {
$Methods += $_ | Get-Member -Force -View All | Select -ExpandProperty Name
}
$Methods | Out-File "C:\Users\UserName\AppData\Roaming\Microsoft\UProof\CUSTOM.DIC" -Append
И это меня достает (среди лотов, намного больше):
OpenWrite
Refresh
Replace
SetAccessControl
set_Attributes
set_CreationTime
set_CreationTimeUtc
set_IsReadOnly
set_LastAccessTime
set_LastAccessTimeUtc
set_LastWriteTime
set_LastWriteTimeUtc
ToString
PSChildName
PSDrive
PSIsContainer
PSParentPath
PSPath
PSProvider
Attributes
Теперь проблема в том, что есть много дубликатов, но здесь все должно быть проще.
Вы также можете использовать каталоги C:\Windows\Microsoft.NET\Framework
вместо GAC, если хотите.