Domanda

Okay, questa è solo un'idea folle che ho. Stack Overflow sembra molto strutturato e integrabile nelle applicazioni di sviluppo. Quindi sarebbe possibile, anche utile, avere un plug-in Stack Overflow per, diciamo, Eclipse?

Quali funzionalità di Stack Overflow vorresti avere integrato direttamente nel tuo IDE in modo da poterlo utilizzare " nativamente " senza passare a un browser?

EDIT: sto pensando a modi di integrazione più profonda rispetto al semplice utilizzo della pagina Web all'interno dell'IDE. Come quando usi una certa classe Java e hai un problema, le risposte da SO potrebbero divampare. Probabilmente ci sarebbero casi in cui qualcosa di simile è fastidioso, ma altri potrebbero essere molto utili.

È stato utile?

Soluzione

Seguendo la risposta di Josh. Questa macro VS cercherà il testo evidenziato in StackOverflow nell'IDE di Visual Studio. Basta evidenziare e premere Alt + F1

Public Sub SearchStackOverflowForSelectedText()
    Dim s As String = ActiveWindowSelection().Trim()
    If s.Length > 0 Then
        DTE.ItemOperations.Navigate("http://www.stackoverflow.com/search?q=" & _
            Web.HttpUtility.UrlEncode(s))
    End If
End Sub

Private Function ActiveWindowSelection() As String
    If DTE.ActiveWindow.ObjectKind = EnvDTE.Constants.vsWindowKindOutput Then
        Return OutputWindowSelection()
    End If
    If DTE.ActiveWindow.ObjectKind = "{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}" Then
        Return HTMLEditorSelection()
    End If
    Return SelectionText(DTE.ActiveWindow.Selection)
End Function

Private Function HTMLEditorSelection() As String
    Dim hw As HTMLWindow = ActiveDocument.ActiveWindow.Object
    Dim tw As TextWindow = hw.CurrentTabObject
    Return SelectionText(tw.Selection)
End Function

Private Function OutputWindowSelection() As String
    Dim w As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
    Dim ow As OutputWindow = w.Object
    Dim owp As OutputWindowPane = ow.OutputWindowPanes.Item(ow.ActivePane.Name)
    Return SelectionText(owp.TextDocument.Selection)
End Function

Private Function SelectionText(ByVal sel As EnvDTE.TextSelection) As String
    If sel Is Nothing Then
        Return ""
    End If
    If sel.Text.Length = 0 Then
        SelectWord(sel)
    End If
    If sel.Text.Length <= 2 Then
        Return ""
    End If
    Return sel.Text
End Function

Private Sub SelectWord(ByVal sel As EnvDTE.TextSelection)
    Dim leftPos As Integer
    Dim line As Integer
    Dim pt As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()

    sel.WordLeft(True, 1)
    line = sel.TextRanges.Item(1).StartPoint.Line
    leftPos = sel.TextRanges.Item(1).StartPoint.LineCharOffset
    pt.MoveToLineAndOffset(line, leftPos)
    sel.MoveToPoint(pt)
    sel.WordRight(True, 1)
End Sub

Per installare:

  1. vai su Strumenti - Macro - IDE
  2. crea un nuovo modulo con un nome a tua scelta sotto " MyMacros " ;. Oppure usa un modulo esistente.
  3. incolla il codice sopra nel modulo
  4. aggiungi un riferimento allo spazio dei nomi System.Web (per HttpUtility) al modulo
  5. chiude la finestra IDE macro
  6. vai su Strumenti - Opzioni - Ambiente - Tastiera
  7. digita " google " nella casella di testo Mostra comandi contenenti. La macro SearchGoogleForSelectedText dovrebbe essere visualizzata
  8. fai clic nella casella di testo Premi tasti di scelta rapida, quindi premi ALT + F1
  9. fai clic sul pulsante Assegna
  10. fai clic su OK

Tutto questo è tratto dal Ricerca Google VS Macro di Jeff Atwood , appena modificato per cercare StackOverflow invece.

Altri suggerimenti

Non credo che sarò in grado di svolgere qualsiasi lavoro con SO integrato in un IDE. È quasi altrettanto negativo, se non peggio, dell'integrazione di Digg / Reddit in un IDE.

Se StackOverflow può iniziare a identificare la lingua contenuta in ogni frammento di codice, allora potrei vedere un plugin di completamento del codice / frammento di codice a un IDE che risponde a una sintassi speciale per eseguire ricerche su SO e inserire la parte di codice accettata risposte.

Ad esempio: nella mia fonte potrei digitare:

//# read an XML file

La sintassi // # richiede al plug-in di avviare una ricerca e visualizzare un elenco di titoli di domande. Quando ne scelgo uno, inserisce la parte di codice della risposta accettata.

Hai il plugin RSS per Eclipse per leggere StackOverflow mangime.

Ma sono con te, un plug-in SO Eclipse sarebbe davvero bello.

Potresti semplicemente impostarlo come pagina iniziale in Visual Studio.

Non sono sicuro di quale beneficio ciò fornirebbe ... ma a ciascuno il suo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top