חיפוש קוד

אפשר להשתמש בתיבת החיפוש שנמצאת בחלק העליון של Google Cloud המסוף כדי לחפש קבצים ספציפיים או קטעי קוד.

תיבת חיפוש

פתיחת Cloud Source Repositories

כל החיפושים משתמשים בביטויים רגולריים מסוג RE2 כברירת מחדל. אם לא רוצים להשתמש בביטויים רגולריים, צריך להקיף את החיפוש במירכאות כפולות ( "). לדוגמה:

foo() # Parentheses are treated as part of a regular expression. Matches 'food'.
"foo()" # Treats the parentheses as literals. Doesn't match 'food'.

הגדרת טווח החיפוש

בתפריט הנפתח היקף שמימין לתיבת החיפוש, אפשר לצמצם את היקף החיפוש לאחת מהאפשרויות הבאות, בהתאם למיקום שלכם בממשק של מאגר המקור:

  • הכול: חיפוש בכל המאגרים שיש לכם גישה אליהם.
  • הפרויקט הזה: חיפוש בכל המאגרים בפרויקט הנוכחי.
  • המאגר: חיפוש במאגר הנוכחי.
  • הספרייה הזו: חיפוש בספרייה הנוכחית.

חיפוש קבצים

יש כמה דרכים לחפש קובץ. לדוגמה, אפשר להשתמש במסנן file כדי לחפש קובץ לפי הנתיב שלו. לדוגמה:

file:main

המסננים הבאים מחזירים את אותן תוצאות כמו המסנן file:

  • filepath
  • f
  • path

אפשר גם לחפש שם קובץ על ידי הקלדת השם והסיומת שלו. לדוגמה:

main\.java

חיפוש בתוכן של קבצים

אפשר להגביל את החיפוש לתוכן של קובץ באמצעות המסנן content. לדוגמה, השאילתה הבאה מחפשת את המונח main בתוכן של כל קובצי Java. החיפוש לא כולל מקרים שבהם נתיב מכיל את המונח main.

lang:java content:main

חיפוש לפי שפה

כדי להגביל את תוצאות החיפוש לשפה מסוימת, משתמשים במסנן language או lang. לדוגמה, החיפוש הבא מגביל את תוצאות החיפוש לשפת Java:

helloworld language:java

אפשר גם להשתמש במסנן file, כמו בדוגמה הבאה:

file:\.java

חשוב לזכור שחיפושים משתמשים בביטויים רגולריים כברירת מחדל. כתוצאה מכך, החיפוש הבא לא עובד:

*.java

במקום זאת, כדאי לנסות את החיפושים הבאים:

\.java
lang:java

הפעלת חיפושים שתלויים באותיות רישיות

כדי שהחיפוש יהיה תלוי באותיות רישיות, משתמשים במסנן case. לדוגמה, החיפוש הבא מחזיר רק תוצאות שתואמות למונח HelloWorld. היא מחריגה תוצאות שבהן האותיות לא תואמות, כמו helloWorld או helloworld.

case:yes HelloWorld

חיפוש כיתות

כדי לחפש כיתה ספציפית, משתמשים במילת המפתח class. לדוגמה, החיפוש הבא מחזיר את כל הכיתות עם המונח Main.

class:Main

חיפוש פונקציות

משתמשים במסננים function או func כדי לחפש פונקציה ספציפית. לדוגמה, החיפוש הבא מחזיר את כל הפונקציות עם המונח main.

function:main

החרגת מונחים

כדי להחריג מונח מתוצאות החיפוש, מוסיפים את התו - לפני המונח שרוצים להחריג. לדוגמה, החיפוש הבא מחזיר את כל הפונקציות עם המונח main, אבל לא כולל התאמות שנמצאו בקובצי C++‎.

function:main -lang:cpp

תו בריחה (escape) לתווים

כברירת מחדל, החיפושים משתמשים בביטויים רגולריים של RE2. כדי לבטל את המשמעות המיוחדת של תווים מסוימים כך שלא יטופלו כחלק מביטוי רגולרי, צריך להשתמש בתו \. לדוגמה, החיפוש הבא מחפש את המונח main.java.

main\.java

חיפוש מחרוזות

כדי לבצע חיפוש מדויק, מקיפים את מונחי החיפוש במירכאות כפולות ("). לדוגמה, בדוגמה הבאה מחפשים את המונח main.java.

"main.java"

חיפוש סמלים

כדי לחפש סמל ספציפי, משתמשים במילת המפתח symbol. לדוגמה, החיפוש הבא מחזיר את כל הפונקציות והמחלקות שלא ניתן לשנות.

symbol:immutable

שימוש באופרטור AND

כדי לחפש כמה מונחים, משתמשים באופרטור AND. האופרטור הזה מחזיר תוצאות רק אם התנאים משני הצדדים של האופרטור הם True. לדוגמה, החיפוש הבא מחזיר קובצי Python שמכילים את המונח server.

server AND lang:python

חיפוש של כמה מונחים משתמש ב-AND באופן מרומז. לדוגמה, אפשר לכתוב את הדוגמה הקודמת כך:

server lang:python

שימוש באופרטור OR

האופרטור OR מחזיר תוצאה אם הוא תואם לביטוי בכל אחד מהצדדים של מילת המפתח. לדוגמה, החיפוש הבא מחזיר קבצים שמכילים את המונח hello או את המונח world.

hello OR world

קיבוץ מונחי חיפוש

אפשר לקבץ כמה מונחי חיפוש יחד באמצעות סוגריים (( ו-)). לדוגמה:

(hello OR world) AND lang:java

אפשר גם להוסיף כמה קבוצות אחת בתוך השנייה. לדוגמה:

((Strings OR StringBuilder) AND lang:java) OR (std AND lang:cpp)

תצוגה מקדימה של תוצאות החיפוש

יכול להיות שיהיו כמה תוצאות לאותה שאילתת חיפוש באותו קובץ. לדוגמה:

lang:java function:foo

החיפוש הזה מחפש קובצי Java שיש בהם פונקציה foo. יכול להיות שהקבצים האלה יכילו יותר מהפניה אחת לפונקציה הזו. במקרים כאלה, בתוצאת החיפוש של הקובץ יופיע הקישור הצגת כל ההתאמות בקובץ הזה. כדי לפתוח חלונית תצוגה מקדימה שבה מוצג התוכן של הקובץ הזה, צריך ללחוץ על הקישור הזה.

אפשר להשתמש בחלונית התצוגה המקדימה כדי לראות במהירות תצוגה מקדימה של כמה תוצאות בו-זמנית, ועדיין לראות את שאר תוצאות החיפוש.

חיפוש הפניה

בטבלאות הבאות מפורטים מסנני החיפוש והאופרטורים שמוזכרים בקטע הקודם.

מסנני חיפוש

בטבלה הבאה מפורטים המסננים שבהם אפשר להשתמש כשמחפשים קוד.

מסנן אפשרויות אחרות תיאור דוגמה
case:yes הופכים את החיפוש לתלוי אותיות רישיות. כברירת מחדל, החיפושים לא תלויי-רישיות.

אם מקבצים כמה מונחי חיפוש, המסנן הזה עובר בירושה לכל קבוצות הצאצא.
case:yes Hello World
class:‎ מחפשים את שם הכיתה. class:MainClass
תוכן: חיפוש רק של שמות קבצים ותוכן קבצים. content:hello
קובץ: filepath:
path:
f:
חיפוש קובץ לפי הנתיב שלו. file:test.js
פונקציה: func: מחפשים שם של פונקציה. function:print
lang: שפה: לחפש תוצאות בשפה ספציפית. lang:java test

אופרטורים של חיפוש

בטבלה הבאה מפורטים האופרטורים שבהם אפשר להשתמש כשמחפשים קוד.

אופרטור אפשרויות אחרות תיאור
וגם אופרטור `AND` לוגי. מידע נוסף זמין במאמר בנושא שימוש באופרטור AND.
או אופרטור `OR` לוגי. מידע נוסף מפורט בקטע שימוש באופרטור OR.
([SEARCH_EXPRESSION]) קיבוץ כמה מונחים יחד. מידע נוסף מפורט במאמר קיבוץ מונחי חיפוש.
- המונח לא יופיע בתוצאות החיפוש.
\ הוספת תו בריחה (escape) לתווים מיוחדים כמו ., \, או (.
"[SEARCH_EXPRESSION]" מבצעים חיפוש בלי לפרש את שאילתת החיפוש כביטוי רגולרי.