Как открыть ссылки в Visual Studio в моем веб-браузере, а не в Visual Studio?

Используйте enumerate, чтобы отслеживать индекс и набор, чтобы отслеживать увиденный элемент:

l = [1, 1, 2, 3]
inds = []
seen = set()
for i, ele in enumerate(l):
    if ele not in seen:
        inds.append(i)
    seen.add(ele)

Если вы хотите оба:

inds = []
seen = set()
for i, ele in enumerate(l):
    if ele not in seen:
        inds.append((i,ele))
    seen.add(ele)

Или, если вы хотите оба в разных списках:

l = [1, 1, 2, 3]
inds, unq = [],[]
seen = set()
for i, ele in enumerate(l):
    if ele not in seen:
        inds.append(i)
        unq.append(ele)
    seen.add(ele)

Использование набора является наилучшим подходом:

In [13]: l = [randint(1,10000) for _ in range(10000)]     

In [14]: %%timeit                                         
inds = []
seen = set()
for i, ele in enumerate(l):
    if ele not in seen:
        inds.append((i,ele))
    seen.add(ele)
   ....: 
100 loops, best of 3: 3.08 ms per loop

In [15]: timeit  OrderedDict((x, l.index(x)) for x in l)
1 loops, best of 3: 442 ms per loop

In [16]: l = [randint(1,10000) for _ in range(100000)]      
In [17]: timeit  OrderedDict((x, l.index(x)) for x in l)
1 loops, best of 3: 10.3 s per loop

In [18]: %%timeit                                       
inds = []
seen = set()
for i, ele in enumerate(l):
    if ele not in seen:
        inds.append((i,ele))
    seen.add(ele)
   ....: 
10 loops, best of 3: 22.6 ms per loop

Итак, для 100k элементов 10.3 секунд vs 22.6 ms ], если вы попробуете что-нибудь большее с меньшими обманами, например [randint(1,100000) for _ in range(100000)], у вас будет время прочитать книгу. Создание двух списков незначительно медленнее, но на порядок выше, чем при использовании list.index.

Если вы хотите получить значение за раз, вы можете использовать функцию генератора:

def yield_un(l):
    seen = set()
    for i, ele in enumerate(l):
        if ele not in seen:
            yield (i,ele)
        seen.add(ele)
134
задан xofz 29 July 2009 в 16:44
поделиться

3 ответа

Это работает на меня. Я изменил браузер по умолчанию в Windows.

Поддержка Windows

или прямая ссылка на настройки: мс-settings:defaultapps

0
ответ дан 23 November 2019 в 23:57
поделиться

В VS2008 просто щелкните ссылку правой кнопкой мыши и выберите «Открыть ссылку во внешнем окне». Вам необходимо выбрать Chrome в качестве браузера по умолчанию.

-4
ответ дан 23 November 2019 в 23:57
поделиться

Мне не удалось найти настройку для этого, поэтому я написал простой макрос, который вы можете использовать. Вы можете привязать это к комбинации клавиш, как и все макросы. Так работа будет выполнена, пока мы не получим лучший ответ.

Sub OpenURLInChrome()
   'copy to end of line
   DTE.ActiveDocument.Selection.EndOfLine(True)

  'set var
   Dim url As String = DTE.ActiveDocument.Selection.Text

   'launch chrome with url
   System.Diagnostics.Process.Start( _
      Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
      + "\Google\Chrome\Application\chrome.exe", url)
End Sub

Просто поместите курсор перед URL-адресом и запустите макрос ...

7
ответ дан 23 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: