אפשר להשתמש בתיבת החיפוש שנמצאת בחלק העליון של 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:
filepathfpath
אפשר גם לחפש שם קובץ על ידי הקלדת השם והסיומת שלו. לדוגמה:
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]" | מבצעים חיפוש בלי לפרש את שאילתת החיפוש כביטוי רגולרי. |