1

Есть ли способ добавить все имена объектов .NET в мой словарь в MS-Word? Я часто использую их при написании ежедневных заметок о прогрессе или документации, и было бы неплохо, если бы автокоррекция не упрекала меня каждый раз, но фактически помогла мне найти правильное слово, которое я ищу. Я знаю, как добавить одно слово вручную, но это не вариант. Есть ли быстрый / встроенный способ добавить все эти имена или мне нужно редактировать файл программно?

1 ответ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, если хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .