20 Stimmen

Integrieren Sie Stack Overflow in IDEs?

Okay, das ist nur eine verrückte Idee, die ich habe. Stack Overflow sieht sehr strukturiert aus und kann in Entwicklungsanwendungen integriert werden. Wäre es also möglich, ja sogar nützlich, ein Stack Overflow-Plugin für, sagen wir, Eclipse zu haben?

Welche Funktionen von Stack Overflow würden Sie gerne direkt in Ihre IDE integriert haben, damit Sie sie "nativ" nutzen können, ohne zu einem Browser zu wechseln?

EDIT: Ich denke über Möglichkeiten der tieferen Integration als nur die Verwendung der Webseite innerhalb der IDE. Wenn man z.B. eine bestimmte Java-Klasse verwendet und ein Problem hat, könnten Antworten von SO auftauchen. Es gibt wahrscheinlich Fälle, in denen so etwas lästig ist, aber andere könnten sehr hilfreich sein.

21voto

Chris Lawlor Punkte 43983

Im Anschluss an die Antwort von Josh. Dieses VS-Makro durchsucht StackOverflow nach markiertem Text in der Visual Studio IDE. Einfach markieren und Alt+F1 drücken

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

Zum Installieren:

  1. Gehen Sie zu Werkzeuge - Makros - IDE
  2. Erstellen Sie ein neues Modul mit einem Namen Ihrer Wahl unter "MyMacros". Oder verwenden Sie ein bestehendes Modul.
  3. Fügen Sie den obigen Code in das Modul ein
  4. Hinzufügen eines Verweises auf den System.Web-Namensraum (für HttpUtility) in das Modul
  5. das Makro-IDE-Fenster schließen
  6. Gehen Sie zu Extras - Optionen - Umgebung - Tastatur
  7. Geben Sie "google" in das Textfeld Show Commands Containing ein. Das Makro SearchGoogleForSelectedText sollte angezeigt werden
  8. Klicken Sie in das Textfeld Tastenkombinationen drücken, und drücken Sie dann ALT+F1
  9. Klicken Sie auf die Schaltfläche Zuweisen
  10. OK klicken

Dies alles stammt aus dem Buch von Jeff Atwood Google-Suche VS Makro Beitrag, nur geändert, um stattdessen StackOverflow zu durchsuchen.

11voto

Kevin Chan Punkte 873

Ich glaube nicht, dass ich in der Lage sein werde, mit SO, das in eine IDE integriert ist, zu arbeiten. Es ist fast so schlimm, wenn nicht schlimmer als die Integration von Digg/Reddit in eine IDE.

5voto

Josh Sklare Punkte 3864

In Visual Studio können Sie eine Verknüpfung hinzufügen, um nach einem markierten Begriff in StackOverflow zu suchen. Jeff Atwood schrieb über etwas Ähnliches mit Google in seinem Google-Suche VS.NET-Makro Blog-Eintrag.

Mit diesem Ansatz könnten Sie einen Begriff oder eine Fehlermeldung (oder jeden anderen auswählbaren Text in der IDE) markieren, die Tastenkombinationen drücken und dann alle passenden Ergebnisse auf StackOverflow sehen.

Ich bin sicher, es gibt eine Möglichkeit, dies auch in anderen IDEs zu tun.

3voto

Chris Wenham Punkte 22761

Wenn StackOverflow damit beginnen kann, die Sprache zu identifizieren, die jeder Codeschnipsel enthält, dann könnte ich mir ein Code-Vervollständigungs-/Codeschnipsel-Plugin für eine IDE vorstellen, das auf eine spezielle Syntax für die Durchführung von Suchvorgängen auf SO reagiert und den Code-Teil der akzeptierten Antworten einfügt.

Z.B.: In meinem Quelltext könnte ich eingeben:

//# read an XML file

Die Syntax //# veranlasst das Plugin, eine Suche zu starten und eine Liste von Fragentiteln anzuzeigen. Wenn ich eine auswähle, fügt es den Codeteil der akzeptierten Antwort ein.

2voto

Ryan Farley Punkte 11265

Ich weiß nicht, wie es bei Eclipse ist, aber für Visual Studio könnte man, wenn man das wirklich wollte, einfach den SO-RSS-Feed für den "Start Page News Channel" hinzufügen, so dass die SO-Fragenliste auf der Startseite erscheint, oder noch besser, sie mit einem Tag einschränken ( wie für C# ). Es ist nicht gerade eine "Integration", aber es würde einen schnellen Überblick über die letzten Dinge mit extrem wenig Aufwand ermöglichen. Allerdings bin ich mir nicht sicher, wie "nützlich" es wäre.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X